加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 这个类的大小是什么,为什么?

发布时间:2020-12-16 05:43:26 所属栏目:百科 来源:网络整理
导读:我有两个班,如下 class A{};class B{ int a[];};int main(){ cout sizeof(A) endl; //outputs 1 cout sizeof(B) endl; //outputs 0 return 0;} 我很熟悉,空类的大小是1,但为什么B类的大小是零? 解决方法 GCC允许零长度数组作为扩展名: http://gcc.gnu.org/
我有两个班,如下
class A
{

};

class B
{
    int a[];
};


int main()
{
    cout << sizeof(A) <<endl;      //outputs 1
    cout << sizeof(B) <<endl;      //outputs 0
    return 0;
}

我很熟悉,空类的大小是1,但为什么B类的大小是零?

解决方法

GCC允许零长度数组作为扩展名: http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html

和:

As a quirk of the original implementation of zero-length arrays,sizeof evaluates to zero.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读