C/C++知识点

2021-07-28  本文已影响0人  黯伢

1、指针与引用的区别

引用 正确/错误代码

int a;
int &b = a;
int &c = b;
int &d = b;
d = 1;
cout << a << " " << b << " " << c << " " << d << endl;
const int &e = 1;
// Success

int &f;
// E0252 “引用变量‘f’需要初始值设定项”:不能只声明引用不设定初始值

int &g = 1;
// E0461 “非常量引用的初始值必须为左值” :常数显然不能作为左值

int h = 2;
&a = h;
&b = h;
// E0137 “表达式必须是可修改的左值”:&带参数代表取址,显然不能作为可修改的左值

关于传值、传引用、传指针

ps:虽然指针看起很好用,但是在没有对应需求(对原对象进行操作、生成新的对象进行操作)时,传值和传引用显然更加简洁,所以并没有那种方式就一定最好,一切都应该看需求来定,有得必有失,存在即合理

2、左值与右值

不可作为左值即为只能作为右值;
常见的不可作为左值:1、&a

上一篇 下一篇

猜你喜欢

热点阅读