可能重复:
在 C++ 中取消引用指针有多昂贵?
如果我有一个指向对象的指针,比如说Object *ptr;,我想将它传递给void foo(Object& obj)我理解我需要编写的表单的方法:
foo(*ptr);
但为什么要取消引用ptr?只是通过它没有意义foo(ptr);吗?我担心*ptr可能会复制原始对象,或者至少不只是传递到要foo使用的地址。
谁能帮我解决这个问题?是否通过了潜在的瓶颈,因为代码期望它的行为与函数被调用*ptr时一样快?void foo(Object *obj);foo(ptr)