一般情况下都说this指针等于对象地址,当对象调用类的成员函数时,对象会传给成员函数一个this指针,也就是自己的地址来引用、标识自己。

正是在这个思想下,导致我调试一个问题调试了整整一天。也许是本人学艺不精,但是据我所了解到的关于C++this指针就是这么说的。

于是我说这样说不对。

事实说话。环境是VS2012。

在子类没有虚函数的时候,输出的两个数字一样。

在父类没有虚函数,子类有虚函数的时候,子类的this比自己的实际地址小4字节。我只知道虚函数表的地址是存放在类对象的头部的。但是我并不知道对对象取地址后,这个地址没有把虚函数表的地址包含进去,导致严重阻碍开发进度。

注意此种情况发生的条件:父类没有虚函数,子类有虚函数。只要父类和子类都有虚函数,那么this===对象地址。

这个就是编译器决定的,可能是个bug,知道就好。

希望对你们有帮助。

this指针不全等于对象地址相关推荐

  1. C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变

    C++ 指向子类的指针转型为指向父类类型指针之后指向的对象地址不变 例子: class A{int a;int b; };class B:public A{int c; };int main(){B* ...

  2. C++ 笔记(14)— 指针(指针声明、取地址、取值、new/delete、NULL指针、指针运算、指针数组、数组指针、指针传递给函数、从函数返回指针)

    1. 声明指针 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址.就像其他变量或常量一样,您必须在使用指 针存储其他变量地址之前,对其进行声明. 指针变量声明的一般形式为: type * ...

  3. python中id地址什么意思_id()在python中返回的对象地址是什么?

    在函数返回时有一个身份的识别,就像我们寄包裹的时候都有一个单号,便于大家随时跟踪它的进度.我们今天要讲的内置函数id()同样可以看作是用来进行身份识别的.那么我们进一步思考,id()最后返回的地址究竟 ...

  4. C++中的函数指针和函数对象总结

    篇一.函数指针 函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址. 函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参 ...

  5. 【转】回调函数,函数指针与函数对象

    原文出处:http://shudingbo.spaces.live.com/blog/cns!C33400475B08F157!423.entry?wa=wsignin1.0&sa=24651 ...

  6. vector所存储对象地址在vector操作过程中发生变化

    vector所存储对象地址在vector操作过程中发生变化 在编写搜索算法存储搜索路径的时候,以为无论如何vector的所有元素的地址都不变,比如vector<int> [0] ,就想去记 ...

  7. 父类指针指向子类对象的问题、父类对象和子类对象之间的问题

    一.父类指针指向子类对象 先上代码: class Base {public:void base_fun1() {}virtual void base_fun2() {cout << &qu ...

  8. C++ 多个指针指向同一个对象

    问题 在使用c++ 指针的时候,经常会遇到如下情况 int *i = new int(1);int *j = i;delete i;i = NULL;if(j) {//此处代码依然运行std::cou ...

  9. 数组指针——指向数组对象的指针

    转载自:数组指针 数组指针--指向数组对象的指针 数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element).数组中的所有元素在内存中是连续排列的,整个数组占用的 ...

最新文章

  1. 那些年值得铭记的时刻
  2. 关于Linux的用户管理的相关研究-------(一)
  3. 【leetcode】Search in Rotated Sorted Array II(middle)☆
  4. Windows环境配置Anaconda+cuda+cuDNN+pytorch+jupyter notebook
  5. premature end of file错误
  6. [java] 找出字符串中出现最多的字符和出现的次数
  7. 【Vue.js源码解析 三】-- 模板编译和组件化
  8. C++ Primer 第五版 第6章 6.7——函数指针习题答案
  9. 一组关于女生的秘密数据!
  10. redis的zset类型(有序集合)
  11. 李礼辉:如何进行必要的数字金融制度建设等问题值得关注
  12. zlib库对文件进行压缩和解压操作
  13. 浅谈各种连接池中连接数量的设置
  14. Tomcat 8 中的startup.bat
  15. 华三comware跳槽_H3C Comware
  16. excel锁定计算机,excel表格根据时间锁定如何操作
  17. ps裁剪和裁切的区别_PS裁剪和裁切的区别
  18. pyhton爬虫爬取100首诗
  19. 由于计算机启动了配置文件,提示由于启动计算机时出现了页面文件配置问题解决方法...
  20. ant design of vue中表格列内容过长,需要截取并且鼠标滑过悬浮显示全部内容

热门文章

  1. linux命令小常识
  2. 微信小程序会改变大世界吗?
  3. asp.net读取xml方法
  4. 浅析STL allocator
  5. Sqlce与SQL Server2000/2005数据转换程序
  6. 你是个有魅力的人吗?人格魅力这样修养而成
  7. 线性回归与 logistic回归
  8. linux 进入一个中文乱码的目录的方法
  9. pat-1136. A Delayed Palindrome (20) 模拟
  10. java实现坐标图进行拖拉拽放_js实现限定区域范围拖拉拽效果