|
|
1
3
有两种典型的用例场景:
第一:指针表示可选参数。因为,引用不能
第二:引用只与const关键字一起使用,因为调用语法建议读者使用按定义常量的传递值语义。然后指针只用于可被调用方更改的参数。 我个人更喜欢第一个选项,因为“const-reference”、“non-const-reference”、“const-pointer”、“non-const-pointer”四种情况都有不同的含义。选项二只区分两个“事物”:“函数可以修改该值”与“函数不会修改该值”。 |
|
|
2
17
可以将常量引用绑定到右值:
但无法传递右值的地址:
语言中引入了引用以支持运算符重载。你想说
参考文献主要支持 通过引用 ,指针主要支持 引用语义 . 是的,我知道,C++中的区别并不总是很清楚。 |
|
|
3
0
对于引用对象,给定常量引用的代码可以操作的内容与指向常量对象的指针可以操作的内容相同,给定非常量引用的代码可以操作的内容与给定指向非常量对象的指针的代码相同。 引用阻止被调用函数执行的操作是更改引用引用的对象或引用上的指针算法。 就调用者而言,常量引用可以直接绑定到右值,并且在创建和销毁作为参数传递的对象时,您具有定义良好的语义。这是一个常见的习语-构造参数的临时参数:
但并不明显,其中的foo对象的寿命超过了函数调用的长度:
尽管后者显然只是一个函数调用,但应该使其变得明显。 基本上,引用是指向单个对象而不是数组开头的指针的语法结构。 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
tTt · 使用堆栈中的值重新分配指针 1 年前 |
|
|
manuel · 现代C中空指针的替代方案++ 1 年前 |