由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - self-nested class
相关主题
请教个static_cast vs reinterpret_cast的问题。数组定义的时候,分配空间了么?
a careercup questionC++ interdependence question
C# binary file reading problem问个简单的memory allocation 的问题。
C++ Q88: nested non-template class (转载)ask a simple question about int pointer.
程序占用很大内存[合集] 求助: socket传递C++ class的问题
a simple question for C++ class问个g++的问题
difference between: char** p and char*p[] ??a weak c question, how to pass an array into a function?
关于C++中一个Class的大小 (转载)What is size_t mean in C?
相关话题的讨论汇总
话题: class话题: sizeof话题: c++话题: nested话题: static
进入Programming版参与讨论
1 (共1页)
g*********s
发帖数: 1782
1
The following seems legal in C++. But what is sizeof(X), 0?
class X {
public:
static X _x;
};
X X::_x;
g*********s
发帖数: 1782
2
sizeof(X) = 1. so what is put in that byte?

【在 g*********s 的大作中提到】
: The following seems legal in C++. But what is sizeof(X), 0?
: class X {
: public:
: static X _x;
: };
: X X::_x;

e****d
发帖数: 895
3
The most derived class cannot be empty.

【在 g*********s 的大作中提到】
: sizeof(X) = 1. so what is put in that byte?
p*****d
发帖数: 80
4
这和空class的结果是一样的,不同的编译器可能得到不同的结果,可能是1,也有可能
是其他值,但不会是0。因为_x是static的,所以并不存贮在instance中。
不是0的原因是因为new X()需要返回一个指针,如果开辟的内存长度为0的话,这个指
针指向的地址是无法定义的,所以至少需要一个“废"字节。
同理,如果X中再加上一个int型member的话,返回的就是int的长度,static _x就完全
被忽略了。

【在 g*********s 的大作中提到】
: The following seems legal in C++. But what is sizeof(X), 0?
: class X {
: public:
: static X _x;
: };
: X X::_x;

g*********s
发帖数: 1782
5
赞条理清晰。

【在 p*****d 的大作中提到】
: 这和空class的结果是一样的,不同的编译器可能得到不同的结果,可能是1,也有可能
: 是其他值,但不会是0。因为_x是static的,所以并不存贮在instance中。
: 不是0的原因是因为new X()需要返回一个指针,如果开辟的内存长度为0的话,这个指
: 针指向的地址是无法定义的,所以至少需要一个“废"字节。
: 同理,如果X中再加上一个int型member的话,返回的就是int的长度,static _x就完全
: 被忽略了。

1 (共1页)
进入Programming版参与讨论
相关主题
What is size_t mean in C?程序占用很大内存
问题:vptr/vtable for virtual function & vptr/vtable fora simple question for C++ class
含泪流血裸奔完整代码回答C++弱问题difference between: char** p and char*p[] ??
C++ Interview Question关于C++中一个Class的大小 (转载)
请教个static_cast vs reinterpret_cast的问题。数组定义的时候,分配空间了么?
a careercup questionC++ interdependence question
C# binary file reading problem问个简单的memory allocation 的问题。
C++ Q88: nested non-template class (转载)ask a simple question about int pointer.
相关话题的讨论汇总
话题: class话题: sizeof话题: c++话题: nested话题: static