`
kmplayer
  • 浏览: 497236 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

指向对象成员变量的指针。

阅读更多
1,工作定了后,把《Inside the C++ object model》又重新看了一遍,之前不太理解的差不多都看明白了,有空好好总结下发上来。
这个算是其中的一个点吧,之前根本没留意,所以特意写一篇记录下。
#include <iostream>
using namespace std;

class A
{
public:
    A (int m = 0, int n = 0) : i(m), j(n) {}
    virtual ~A() {}
    int i;
    int j;
};

int main()
{
    A a;
    printf("%p\n",&(a.j));
    printf("%p",&A::j); //这里是8,没有增加1
    //指向member data的指针,返回在object中的偏移量.
    //类型: int A::*
    return 0;
}
分享到:
评论

相关推荐

    C++中指向对象的常指针与指向常对象的指针详解

    指向对象的常指针变量的值不能被改变,即始终指向同一个对象,但可以改变其所指向对象中的数据成员(非const型)的值。 往往用常指针作为函数的形参,目的是不允许在函数执行过程中改变指针变量的值,使其始终指向...

    runtime获取属性和成员变量方法

    成员变量 1、成员变量的定义 Ivar: 实例变量类型,是一个指向objc_ivar结构体的指针 ...// 获取某个对象成员变量的值 object_getIvar // 设置某个对象成员变量的值 object_setIvar 说明: property_

    详解C++中的对象指针与对象数组

    指向对象的指针 在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的指针。 如果有一个类: class Time { public ...

    详解C++中的this指针与常对象

    通过 this,可以访问当前对象的成员变量和成员函数。 所谓当前对象,就是正在使用的对象,例如对于stu.say();,stu 就是当前对象,系统正在访问 stu 的成员函数 say()。 假设 this 指向 stu 对象,那么下面的语句中...

    C++中的对象指针总结

    指向对象的指针在建立对象的时候,变异系统会给每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的指针。 一个简单的示例1.1: 代码如下:#...

    C++指向类成员函数的指针详细解析

    而类成员函数我们也可以相似的认为,它是指向同类中同一组类型的成员函数的指针,当然这里的成员函数更准确的讲应该是指非静态的成员函数。前者是直接指向函数地址的,而后者我们从字面上也可以知道 它肯定是跟类和...

    详解C++中const_cast与reinterpret_cast运算符的用法

    指向任何对象类型的指针或指向数据成员的指针可显式转换为完全相同的类型(const、volatile 和 __unaligned 限定符除外)。对于指针和引用,结果将引用原始对象。对于指向数据成员的指针,结果将引用与指向数据成员...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一...8.4 对象成员的引用 8.4.1 通过对象名...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一...8.4 对象成员的引用 8.4.1 通过对象名...

    深度探索模C++对象模型PDF

    3.5 对象成员的效率(Object Member Efficiency) 3.6 指向Data Members的指针(Pointer to Data Members) “指向Members的指针”的效率问题 第4章 Function语意学(The Semantics of Function) 4.1 Member的各种...

    深度探索C++对象模型 超清版

    3.5 对象成员的效率(Object Member Efficiency) 3.6 指向Data Members的指针(Pointer to Data Members) “指向Members的指针”的效率问题 第4章 Function语意学(The Semantics of Function) 4.1 Member的各种...

    Java中this与super的区别

    什么是this,this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 Java关键字this只能用于方法的方法体内。当一个对象创建后, Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这...

    C++中引用的使用总结

    引用时C++对C的一个重要的扩充,引用的作用是给变量起一个别名。 例如: int a; int &b=a;//声明b是a的引用 经过以上的声明,b就成为了a的别名,a和b的地位以及作用都是一样的。 将b声明为a的引用,不需要再为b开辟...

    图像的DIB类实现

    绘制DIB对象,按照DIB创建一个逻辑调色板, 计算DIB像素的起始位置,并返回指向它的指针,返回DIB中图象的高度,返回DIB中调色板的大小,DIB中调色板的颜色的种数, 返回DIBBitCount,复制指定的内存区域,将指定的DIB对象...

    谭浩强C程序设计第三版

    变量的指针和指向变量的指针变量 142 定义一个指针变量 143 指针变量的引用 143 指针变量作为函数参数 147 指针变量几个问题的进一步说明 150 数组指针和指向数组的指针变量 153 指向数组元素的指针 153 通过指针...

    设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)

    (用字符指针存储学号和姓名,通过动态存储空间分配的方式为指针开辟指向的空间,保证空间大小没有浪费) 2)成员函数包括: 设置学生每门课成绩的函数 setScore();计算三门课程平均成绩的函数average();分别用来设置...

    零起点学通C++多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和派生如何...

    C++实验四,学生类设计

    ,定义一个学生类,要求存储学号,姓名, 年龄,性别,班号等信息,从键盘输入10个学生信息,存储在一个对象数组中,并将所有学生信息打印出来。 要求:1,学号按照1,2,3..... 4,输出打印时要求使用指向对象的指针。

    零起点学通C++学习_多媒体范例教学代码

    11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和...

Global site tag (gtag.js) - Google Analytics