码迷,mamicode.com
首页 > 其他好文 > 详细

vptr

时间:2015-01-03 18:32:23      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
class Point3d
{
public:
    virtual ~Point3d(){}
public:
    static Point3d origin;
    float x, y, z;
};

//从打印的地址看出这个类的结构应该是vptr|x|y|z,vptr是放类空间的头部的
int main()
{
    printf("Point3d::x%p\n", &Point3d::x) ;//这个是求x在类中的偏移量
    //printf("Point3d::y%p\n", &Point3d::y) ;
    printf("Point3d::z--%p\n", &Point3d::z) ;
    //printf("Point3d::origin%p\n", &Point3d::origin) ;
    Point3d d;
    printf("Point3d--%p\n", &d);//求具体的地址
    printf("Point3d::z--%p\n", &d.z);//求具体的地址
    getchar();
    return 0;
}

 

vptr

标签:

原文地址:http://www.cnblogs.com/zzyoucan/p/4199708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!