引用无法直接指向new关键在在堆中创建的对象,必须通过指针来做中间者。
#include <iostream> #include <string> using std::cout; using std::endl; using std::string; int main() { int *p=new int(2); int &r=*p;//r是指针p指向的int变量引用,int变量分配在堆中 cout<<"*p:"<<*p<<endl; cout<<"r:"<<r<<endl; r=1; cout<<"*p:"<<*p<<endl; cout<<"r:"<<r<<endl; return 0; }
本文版权归kennyMc和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。