因此,正如我们都希望知道的那样,在面向对象编程中,当您需要以某种方式在另一个类的方法中访问一个类的实例时,您会转向通过参数传递该实例。
我很好奇,在传递对象或指向该对象的指针时,良好实践/不太容易破坏事物的区别是什么?
最佳答案
养成通过引用传递对象的习惯。
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/