第一个问题:
很多时候,我们使用指针通过函数调用将一个对象的引用传递给另一个对象。例如:
int num =25;
int *num1Ptr=#
int *num2Ptr=NULL;
void assinNum (int *numPtr){
num2Ptr = numPtr; ////we copy the value (address) of the num1Ptr pointer to num2Ptr
}
我的问题是:如果这样的方法被非常频繁地调用,我们可以预期指针复制的显着开销吗?
第二个问题:
在下面的场景中,是否意味着我们将传递的 numPtr 指向的内存地址中的值复制到 num2Ptr 指向的内存地址?如果是,那么它是否与按值传递相同?
int num =25;
int *num1Ptr=#
int *num2Ptr=NULL;
void assinNum (int *numPtr){
*num2Ptr = *numPtr; ////num2Ptr points to the same value in the memory pointed by numPtr argument.
}
第一个问题的更新:
指向大对象(不是原语)的指针有什么后果?