相关疑难解决方法(0)

sizeof可以返回0(零)

sizeof运算符是否有可能在C或C++中返回0(零)?如果可能的话,从标准的角度来看是否正确?

c c++ sizeof

50
推荐指数
4
解决办法
9881
查看次数

为什么基类的大小为零?

基本上这是对这个问题跟进 ..

当我查看标准文档时,我发现了这个..

9.3类中,

类类型的完整对象和成员子对象应具有非零大小.96) ......

是的,是的..但是,

96)基类子对象不受约束.

所以,当我查看Stroustrup的FAQ时,有一个例子

void f(X* p)
    {
        void* p1 = p;
        void* p2 = &p->a;
        if (p1 == p2) cout << "nice: good optimizer";
    } 
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法理解它是如何进行优化的,以及为什么基类允许零大小

c++

8
推荐指数
2
解决办法
676
查看次数

标签 统计

c++ ×2

c ×1

sizeof ×1