`
kmplayer
  • 浏览: 508844 次
  • 性别: 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;
}
分享到:
评论

相关推荐

    易语言源码易语言取类变量指针源码.rar

    "取类变量指针"是易语言中一个重要的概念,涉及到面向对象编程中的类、对象以及指针操作。 在易语言中,类是一种数据结构,可以包含数据(成员变量)和操作这些数据的方法(成员函数)。类变量则是类中定义的变量,...

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

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

    对象数组与对象指针及this指针

    对象数组、对象指针和this指针 ...这样,便可以在成员函数中访问和操作当前对象的成员变量。 对象数组、对象指针和this指针都是 C++ 程序设计中的重要概念,理解它们的使用和特点对于编写高效、可维护的代码非常重要。

    char*指针成员变量的重载

    ### char*指针成员变量的重载 在C++中,重载运算符是一种非常有用的功能,它允许程序员根据自己的需求定义如何使用某些内置运算符(如+、-、*等)来操作自定义的数据类型。本文将详细介绍如何对一个包含`char*`指针...

    函数指针就是指向函数的指针;类成员方法指针,类具有类域操作符

    2. **非静态成员函数指针**:非静态成员函数指针需要一个对象实例才能调用,因此在使用非静态成员函数指针时,需要提供对应的类实例。 3. **typedef简化函数指针**:为了简化函数指针的使用,可以使用`typedef`创建...

    成员运算符与指向结构体成员运算符的区别

    成员运算符`.`的操作对象必须是一个具体的结构体变量,不能是结构体类型的指针。 其次,指向结构体成员运算符`-&gt;`则用于通过指向结构体变量的指针来访问成员。在定义了一个指向结构体的指针,如`struct student *...

    对象指针的使用方法

    **知识点二:指针与对象成员的访问** 接下来,我们来看看如何使用指针来访问对象的成员。示例中的`main`函数首先创建了一个`Time`类型的对象`t1`,并对其进行了初始化。 ```cpp Time t1(10, 13, 56); ``` 然后,...

    函数指针和函数对象

    函数指针是指向函数的指针变量,可以指向全局函数或类成员函数。函数指针的类型是指针类型,例如`typedef void (*fp)(int);`,其中`fp`是函数指针的名称,`(*fp)`表示函数指针指向的函数,`(int)`表示函数的参数类型...

    C++程序设计与实践:07-第6章 深入类和对象.ppt

    this指针是指向对象本身的指针,用于访问对象成员。 6. 指向类对象的指针 指向类对象的指针是指向类对象的指针,语法为类类型 * 指针名。通过使用&和-&gt;运算符可以访问对象成员。 7. 指向类成员的指针 指向类成员...

    高手笔记 结构成员变量偏移量的两个应用

    它计算的是成员变量(通常为接口指针)在类中的偏移量,并结合基类接口的偏移,来确定复合接口在接口表中的位置。 `BEGIN_INTERFACE_TABLE`、`INTERFACE_TABLE_ENTRY`、`IMPLEMENTS_INTERFACE`、`IMPLEMENTS_...

    C++ 指向类成员的指针

    在C++中,指针是强大的工具,它们不仅可以指向普通变量和函数,还可以指向类的成员,包括数据成员和成员函数。这篇讨论聚焦于“指向类成员的指针”,这在理解和实现面向对象编程时非常关键。 首先,我们来看指向类...

    C++ 一般(普通)函数指针、类成员函数指针,用法区别,以及强制转换

    对于非静态成员函数,它通常包含一个指向类对象的指针作为第一个参数。例如,如果你有一个名为`Person`的类,它有一个接受字符串的成员函数`sayHello(const std::string& name)`,声明一个这样的成员函数指针如下: ...

    第六章答案对象的指针、this指针、const、new和delete.pdf

    2. **指向对象成员的指针**:这种指针分为两种类型:指向数据成员的指针和指向成员函数的指针。数据成员指针的定义如`Type ClassName::*pointerName = &ClassName::dataMember;`,成员函数指针的定义则如`Type ...

    C#结构体指针的定义及使用详解

    假设有一个非托管指针`IntPtr iptr`指向一块内存,里面存储的是一个`VGAStat`类型的结构体,可以使用`Marshal.PtrToStructure`方法将其转换为结构体对象: ```csharp VGAStat entries = (VGAStat)Marshal....

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

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

    c++句柄,智能指针 指针间的区别

    智能指针类将指针变量作为成员变量封装起来,在智能指针类对象离开作用域时,会再析构的过程中完成指针的释放。例如,使用auto_ptr智能指针类,可以自动释放所指向的对象内存,避免了手动delete的麻烦。 句柄、智能...

    C++类中的各种成员,嵌套类,友元,this指针专题(pdf)

    本文将详细介绍C++类中的各种成员,包括类中的静态成员变量、成员函数、常量成员变量、常量成员函数、常量静态数据成员、对象成员、类成员指针、嵌套类、友元、this指针以及.*和-&gt;*运算符。 #### 二、类中的静态...

Global site tag (gtag.js) - Google Analytics