C++ 除了语法上的不同,还有什么区别吗;“参考电话”;及;“指针调用”;在C++;在记忆方面?

C++ 除了语法上的不同,还有什么区别吗;“参考电话”;及;“指针调用”;在C++;在记忆方面?,c++,pass-by-reference,C++,Pass By Reference,我知道我们需要在这两个函数中使用不同的传递参数,但除此之外,在内存分配或其他方面,这两个函数之间有区别吗?我的意思是,编译器也会存储内存指针。 < P>一个重要的区别是指针可以是null pTR,因为C++没有空引用的概念。 从编译器的角度(即生成的机器代码)看,没有实质性的差异。 我不确定,但如果我发现它使用引用参数到指针的直接翻译,我不会感到惊讶 然而,在语言层面上存在许多差异;例如,一个引用总是正式绑定到一个对象(即,您没有“NULL引用”),而且一个引用也不能反弹(而指针变量可以指向其他

我知道我们需要在这两个函数中使用不同的传递参数,但除此之外,在内存分配或其他方面,这两个函数之间有区别吗?我的意思是,编译器也会存储内存指针。

< P>一个重要的区别是指针可以是null pTR,因为C++没有空引用的概念。

从编译器的角度(即生成的机器代码)看,没有实质性的差异。 我不确定,但如果我发现它使用引用参数到指针的直接翻译,我不会感到惊讶


然而,在语言层面上存在许多差异;例如,一个引用总是正式绑定到一个对象(即,您没有“NULL引用”),而且一个引用也不能反弹(而指针变量可以指向其他对象)。

代码没有编译。如果有差异,我会感到惊讶。我想在某些情况下,编译器可能能够更好地优化引用版本,但我认为这就是它。
MyObject obj = new MyObject(k);
foo(obj);
bar(&obj);

foo(MyObject &)
bar(MyObject *)