c++中的引用到底是怎么回事。
2011-06-22 22:58
429 查看
int a = 0x1234; 0107352E mov dword ptr [a],1234h int &ra = a; 01073535 lea eax,[a] 01073538 mov dword ptr [ra],eax ra = 0x9999; 0107353B mov eax,dword ptr [ra] 0107353E mov dword ptr [eax],9999h
上面是c++引用的反汇编,从上面可以看出,
引用其实就是将变量的地址存下来,使用的时候把地址指向的值取出来进行操作。
再解释下下面这种重载
int a[3] = {1,2,3}; class B{ public: int& operator[](int i) { return a[i]; } };
为什么这里必须返回int&, 如果不返回引用,那么只能取值,而不能赋值。
相关文章推荐
- c++中的引用到底是怎么回事。
- 引用类型到底是怎么回事?
- 鬼压床到底是怎么回事?
- C++ 怎么在默认构造函数的初始化列表中初始化指针或者引用类型数据成员
- OpenGL的矩阵到底是怎么回事?[已解]
- C++中,两个头文件互相引用怎么办
- Hadoop中的Word Count例子到底是怎么回事?
- Spring 事务 readOnly 到底是怎么回事?
- Go 到底有没有引用传参(对比 C++ )
- 突陷瘫痪到底是怎么回事?数据库能恢复么?
- 机器学习中的End-to-End到底是怎么回事?
- 错误:数据提供程序或其他服务返回E_FAIL状态 到底怎么回事呢?
- 浏览器请求阻塞到底是怎么回事?我们为什么要把静态资源分服务器放置?
- RelativeLayout背景选择器,用不了到底是怎么回事?
- 小程序支持打开移动应用到底是怎么回事?
- 从大数据的风水图,来看到底大数据是怎么回事
- 炒股到底是怎么回事?
- 音乐中的「强、弱、次强、弱」到底是怎么回事?(转)
- openssl heartbeed到底是怎么回事?
- JavaScript 社区由一个库引发的“smoosh门”事件到底怎么回事?