引用是否在C中记忆?
发布时间:2020-12-16 09:39:45 所属栏目:百科 来源:网络整理
导读:我已经阅读了很多关于这个问题的文章,从中我得到的引用只是别名而且它们不消耗任何内存.编译器用指向变量的地址替换引用. 任何人都可以解释下面的例子会发生什么.编译器如何使用参考ri? int main(){ int *pi = new int(50); int ri = *pi; ri = 30; cout "v
我已经阅读了很多关于这个问题的文章,从中我得到的引用只是别名而且它们不消耗任何内存.编译器用指向变量的地址替换引用.
任何人都可以解释下面的例子会发生什么.编译器如何使用参考ri? int main() { int *pi = new int(50); int &ri = *pi; ri = 30; cout << "val = " << ri << "," << *pi << endl; } 它给了我输出: val = 30,30 解决方法int *pi = new int(50); +----+ pi --> | 50 | +----+ int &ri = *pi; +----+ pi --> | 50 | ri = 50,same as *pi,which is 50 +----+ ri = 30; now the contents of what pi points to i.e. *pi is replaced with 30 +----+ pi --> | 30 | +----+ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |