lea*_*vst 6 c++ standards pointers reference ampersand
在C++中,&符号(&)可用于获取左值,函数指示符或限定名称的地址..
int y;
int* p_to_y = &y;
Run Code Online (Sandbox Code Playgroud)
该角色在C++中作为参考声明符共享..
int y;
int& y_alias = y;
Run Code Online (Sandbox Code Playgroud)
在粗略了解C之后学习C++时,这种双重用法给我带来了很多困惑!我理解使用符号的上下文会有所不同,但鉴于引用和指针是不应混淆的重要概念,任何人都可以建议为什么&回收而不是使用新的替代符号?
任何人都可以建议为什么
&被回收
因为&y并且int&两者都以某种方式"关于地址":一个创建一个指针,它是一个内存地址的精简抽象,另一个指示一个引用,就像一个永远不能为空的指针.
首先,不要担心,你很快就会克服这种混乱.
可能有多种原因:
从逻辑上讲,它们是以某种方式连接的.引用的行为类似于指针,它是对象的地址.
没有很多免费符号.看着我的键盘顶行,我只能看到......好吧,只有$和@.我个人也不喜欢,但那可能只是因为我习惯了&.
您提供的反原因可以被视为一个原因 - 不要在语言中添加其他符号.想想看 - C++中提供的大多数符号也可以在C中使用.目的可能是从C语言迁移的人们获得平滑的学习曲线.由于&逻辑上与参考概念相关,因此它最适合.
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |