使用指针C ++有什么好处

时间:2016-04-21 19:23:17

标签: c++ pointers

我只是对在C ++上使用指针感到困惑..你可能会说,"指针显然是另一个变量的记忆地址,并且在你的程序中你肯定需要它们的条件#34 ;.但我不是指一般的指针,我的意思是你用来喜欢的指针"模拟"一堂课...我认为代码会解释得更多:

#include <iostream>
#include <string>
#include "Book.h"


int main() {
    Book book1;
    Book *bookPointer = &book1;


    book1.setBooksId(123);
    std::cout << "BOOK ID: " << book1.getBookId() << std::endl;

    (*bookPointer).setBooksId(300);
    std::cout << (*bookPointer).getBookId() << std::endl;

    /*When usage of arrow member selection member, left is always a pointer. 
      Same thing as above, but better practice!
      */

    bookPointer->setBooksId(100);
    std::cout << "POINTER ARROW  : " << bookPointer->getBookId() << std::endl;
    return 0;
}

在这里你看到我有另一个名为bookPointer的指针,它所做的全部与book book book1的原始实例相同......我不明白..使用它的优点是什么?如果可以,请给我一个场景!谢谢你的帮助!!

1 个答案:

答案 0 :(得分:1)

根本没有“模拟”发生。 book1也有一个地址,this指针在book1时设置为book1.setBooksId(123);的地址。没有区别。

相关问题