我目前正在用 C++ 做我的第一个真正的项目,所以对指针来说还很陌生。我知道它们是什么并且已经阅读了一些基本的使用规则。可能还不够,因为我仍然不太了解何时使用它们,何时不使用它们。
问题是大多数地方只是提到大多数人要么过度使用它们,要么使用不足。我的问题是,何时使用它们,何时不使用它们?。
目前,在很多情况下我在问自己,我应该在这里使用指针还是只将变量本身传递给函数。
例如,我知道您可以发送一个指向函数的指针,这样函数实际上可以更改变量本身而不是变量的拷贝。但是,当您只需要一次获取对象的一些信息时(例如,该方法需要一个 getValue() 之类的东西),在这种情况下指针有用吗?
我很想看到任何一种 react ,但也希望看到可能有用的链接。因为这是我第一次使用 C++,所以我还没有一本好的 C++ 书籍(如果我继续使用 C++,我正在考虑买一本,我可能会买)。
最佳答案
对于 C++ 的注意事项:
Effective C++ and More Effective C++ by Scott Meyers。
对于指针(和引用):
- 如果类型适合 4 个字节并且不想在调用返回后更改它,则使用按值传递。
- 如果类型较大并且您不想在调用返回后更改它,请使用对 const 的引用传递。
- 如果参数不能为 NULL,则使用引用传递
- 否则使用指针。
如果不需要,请不要使用原始指针。大多数时候,智能指针(参见 Boost)是更好的选择。
关于c++ - 何时使用指针,何时不使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327943/