c++ - 传递对象还是传递引用/指针?

标签 c++ oop

因此,正如我们都希望知道的那样,在面向对象编程中,当您需要以某种方式在另一个类的方法中访问一个类的实例时,您会转向通过参数传递该实例。

我很好奇,在传递对象或指向该对象的指针时,良好实践/不太容易破坏事物的区别是什么?

最佳答案

养成通过引用传递对象的习惯。

void DoStuff(const vector<int>& values)

如果您需要修改原始对象,请省略 const 限定符。

void DoStuff(vector<int>& values)

如果您希望能够接受一个空的/什么都没有的答案,请通过指针传递它。

void DoStuff(vector<int>* values)

如果您想对本地拷贝执行操作,请按值传递它。

void DoStuff(vector<int> values)

只有当您引入大量并发时,问题才会真正出现。到那时,您将知道什么时候不应该使用某些传球技巧。

关于c++ - 传递对象还是传递引用/指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9460870/

相关文章:

c++ - 使用 C++ 的 VS6 和 VS2008 之间的数值精度差异?

具有类似 friend 访问权限的 C++ 概念

javascript - 如何使用具有对象属性的元素,例如 element.myobj.prop

c# - 通用类工厂问题

c++ - 使用引用参数 boost python 方法调用

javascript - 像 Javascript 一样在 C++ 中访问 HttpStatusCode

c++ - std::locale 取得所有权

delphi - 我应该使用类或方法来包装动态远程过程调用吗?

c# - 如何强制派生类覆盖基类的枚举?

php - 工厂方法和私有(private)变量