返回局部变量的引用
C++的引用太强大了,但局部变量的引用无法传递到函数外,而Go的&符号本质上不是引用而是new运算符,同时Go也会自动垃圾回收,而C++印象里是与此无关的。因此,下面的过程也许可以拿到局部变量的引用/地址,但内容已经被释放了。引用 引用强大的地方,类似于,赋值运算符、输入/输出运算符都有一个返回结果一样,利用引用,可以实现With这样的串联写法。
int &c() {
int c = 0;
return c;
}
int *p = &c();
C++的引用太强大了,但局部变量的引用无法传递到函数外,而Go的&符号本质上不是引用而是new运算符,同时Go也会自动垃圾回收,而C++印象里是与此无关的。因此,下面的过程也许可以拿到局部变量的引用/地址,但内容已经被释放了。引用 引用强大的地方,类似于,赋值运算符、输入/输出运算符都有一个返回结果一样,利用引用,可以实现With这样的串联写法。
int &c() {
int c = 0;
return c;
}
int *p = &c();
本文标题:《C++ Primer》笔记
本文链接:https://www.haomeiwen.com/subject/pnvwektx.html
网友评论