详谈C++引用&和指针在作为形参时的区别
1个回答
展开全部
事实上,C++只有传值、传引用两种(C++11多了一种传右值引用,暂不讨论)。
传值:在函数开始时,新声明一个变量,将传入的参数以拷贝的形式赋值给新变量,原变量和新变量是完全两个不同的变量,只是在这一刻,两者内部存储的数据是一致的。
传引用&:与原变量共享存储空间,传入参数时,参数必须要是一个左值变量(简单的说,就是能被赋值的那种变量)。
而指针,事实上也是传值,因为它是把参数中的指针变量(存放着指向对象的地址),赋值给函数中的新声明的指针变量,两个指针变量本身是不同的变量,只是它们指向了同一个地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询