使用sizeof得到类成员的大小

在C++11中,可以使用sizeof操作符来获取类成员的大小。sizeof操作符返回一个表达式或一个类型的大小,单位是字节。对于类成员,可以使用这个操作符来获取其占用的内存大小。

使用sizeof获取非静态成员的大小

1. 使用sizeof获取非静态数据成员的大小时,需要在类的对象上使用sizeof操作符来获取对象中某个非静态数据成员的大小。例如:

class MyClass {
public:
    int member;
    char another_member;
};

int main() {
    MyClass obj;
    
    std::cout << "Size of member: " << sizeof(obj.member) << std::endl;
    std::cout << "Size of another_member: " << sizeof(obj.another_member) << std::endl;
    
    return 0;
}

上述代码中,使用sizeof操作符分别获取了MyClass类的成员变量member和another_member的大小,并输出到控制台。

使用sizeof获取静态成员的大小

2. 使用sizeof获取静态成员的大小时,可以直接在类名后面使用sizeof操作符来获取静态成员的大小。例如:

class MyClass {
public:
    static int static_member;
    static char static_another_member;
};

int main() {
    std::cout << "Size of static_member: " << sizeof(MyClass::static_member) << std::endl;
    std::cout << "Size of static_another_member: " << sizeof(MyClass::static_another_member) << std::endl;
    
    return 0;
}

上述代码中,使用sizeof操作符分别获取了MyClass类的静态成员变量static_member和static_another_member的大小,并输出到控制台。