C++中的指针与引用其实是一样的。从编译器的反汇编源代码可以看出,引用和指针编译器的实现都是一样的。但是在用高级语言编程时的理解是不一样的。

引用可以看作是对象的一个手柄并且是于具体的数据绑定的操作这个手柄就是操作这个变量或者对象,并且这个手柄是死的。

指针就是创造一个手柄去操作一些东西,这个手柄是活的,你可以任意的给这个手柄指向,然后通过拿这个手柄(*b)去拿这个对象或者变量。

  1. ;引用
  2. 4:        int a = 5 ;
  3. 00401028   mov         dword ptr [ebp-4],5
  4. 5:        int & b  = a;
  5. 0040102F   lea         eax,[ebp-4]
  6. 00401032   mov         dword ptr [ebp-8],eax
  7. 6:        int c = 2 ;
  8. 00401035   mov         dword ptr [ebp-0Ch],2
  9. 7:        b = c ;
  10. 0040103C   mov         ecx,dword ptr [ebp-8]
  11. 0040103F   mov         edx,dword ptr [ebp-0Ch]
  12. 00401042   mov         dword ptr [ecx],edx
  13. 8:        return 0;
  14. 00401044   xor         eax,eax
  15. //指针
  16. 4:        int a = 5 ;
  17. 00401028   mov         dword ptr [ebp-4],5
  18. 5:        int * b  = &a;
  19. 0040102F   lea         eax,[ebp-4]
  20. 00401032   mov         dword ptr [ebp-8],eax
  21. 6:        int c = 2 ;
  22. 00401035   mov         dword ptr [ebp-0Ch],2
  23. 7:        *b = c ;
  24. 0040103C   mov         ecx,dword ptr [ebp-8]
  25. 0040103F   mov         edx,dword ptr [ebp-0Ch]
  26. 00401042   mov         dword ptr [ecx],edx
  27. 8:        return 0;
  28. 00401044   xor         eax,eax

转载于:https://blog.51cto.com/youren/496918

C++中的指针与饮用相关推荐

  1. java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类

    是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...

  2. 【Smart_Point】C/C++ 中共享指针 shared_ptr

    1. 共享指针 shared_ptr 目录 1. 共享指针 shared_ptr 1.1 共享指针解决的问题? 1.2 创建 shared_ptr 对象 1.3 分离关联的原始指针 1.4 自定义删除 ...

  3. 【Smart_Point】C/C++ 中独占指针unique_ptr

    1. 独占指针unique_ptr 目录 1. 独占指针unique_ptr 1.1 unique_ptr含义 1.2 C++11特性 1.3 C++14特性 1.1 unique_ptr含义 uni ...

  4. 【Smart_Point】C/C++ 中智能指针

    C++11智能指针 目录 C++11智能指针 1.1 C++11智能指针介绍 1.2 为什么要使用智能指针 1.2.1 auto_ptr(C++98的方案,C++11已经抛弃)采用所有权模式. 1.2 ...

  5. 某内存池中的指针用法

    内存池实现有许多种,各有不同的优缺点. 这里不是主要说内存池,只是觉得这个内存池中的指针用得很飘逸! template <class T,int AllocSize = 50> class ...

  6. c语言中程序偏离,C语言中的指针加减偏移量

    首先看一段程序: #include int main() { int a[5] = {1, 2, 3, 4, 5}; int* p = (int*)(&a + 1); printf(" ...

  7. 各种语言中对指针的叫法

    如果没有指针,就无法构造正统的数据结构, 因此,比较成熟的.正统的编程语言,必定会存在指针3. 3以前, FORTRAN . COBOL 和BASIC 中 都没有指针,但是在 fortran90.Vi ...

  8. 浅谈C中的指针和数组(一)

    本文转载地址:http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html 在原文的基础上加入自己的想法作为修改. 指针是C/C ...

  9. 【转】C++中this指针的用法详解

    1.this指针的用处 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象 ...

最新文章

  1. 一个简单express+jade+mysql+bootstrap+nodejs的demo
  2. git 你get了吗(git命令日常使用)
  3. lnmp php fpm 默认,LNMP(PHP-FPM)
  4. boost::regex模块信用卡匹配相关的测试程序
  5. android token机制_对Android 中的 ANR 进行详解
  6. Linux按照CPU、内存、磁盘IO、网络性能监测
  7. 网络的划分及其Linux下关于网络的命令
  8. ceshildkd 124
  9. python 公开课_python公开课视频(11~20)
  10. GDB 远程调试试验(gdbserver)【ZT】
  11. [IE 技巧] 输入错误网址自动转到搜索引擎的功能选项
  12. 再见 FTP/SFTP!是时候拥抱下一代文件传输利器 Croc 了!
  13. Unicode字符集下UTF-8 、UTF-16编码和GBK(GB2312)字符集
  14. (3)fastjson带有转义字符的数据格式处理
  15. rtmp协议官方规范
  16. Unity商店插件/工具收藏篇
  17. Linux下常用的串口助手 —— minicom、putty、cutecom
  18. python文件同时读写_python可以同时对文件进行读写操作吗
  19. Flutter图片裁剪
  20. python3ide安卓版官网下载_Pydroid3官方版-Pydroid3最新版下载v4.01 - 7230手游网

热门文章

  1. Markdown基本语法使用
  2. 区块链应用和法律规范
  3. 第十八 django及ORM操作
  4. Linux下查找、删除、替换命令
  5. Mysql 表字段(列)编辑 (增删改)
  6. 关于链表和指针变量的使用说明,可用于框架设计
  7. python下py2exe打包笔记
  8. [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
  9. 指尖下的js ——多触式web前端开发之二:处理简单手势
  10. 打造新华社「AI合成主播」的“分身术”为何物?