使用指针在 C++ 中有什么好处?

13 浏览
0 Comments

使用指针在 C++ 中有什么好处?

这个问题已经在这里有了答案:

为什么我应该使用指针而不是对象本身?

我只是对在 C++ 中使用指针这一部分感到困惑...您可能会说,\"指针显然是另一个变量的内存地址,在您的程序中肯定会有某些条件需要它们\"。但我不是一般指针,我是指您用来 \"模拟\" 类的指针... 我想代码会更好的解释:

#include 
#include 
#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 相同... 我不明白.. 使用它的好处是什么? 如果可以,请给我提供一个场景! 谢谢您的帮助!

admin 更改状态以发布 2023年5月23日
0
0 Comments

实际上并没有发生任何“模拟”行为。 book1 也有一个地址,当你执行 book1.setBooksId(123); 时,this 指针被设置为 book1 的地址。本质上没有任何区别。

0