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