提问者:小点点

使用指针C++[重复]的好处是什么


我只是对在C++上使用指针感到困惑…你可能会说,“一个指针显然是另一个变量的内存地址,在你的程序中有一些特定的条件需要它”。但我不是指一般的指针,我是指你用来“模拟”一个类的指针。我认为代码会更多地解释它:

#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类Book1..的原始实例相同。我不明白…用这个有什么好处?如果可以的话给我一个场景!谢谢你的帮助!!


共1个答案

匿名用户

根本没有“模拟”发生。也有一个地址,当您执行时,指针被设置为地址。没有什么区别。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(指针|c++|重复|好处)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?