gpt4 book ai didi

c++ - 谁能向我解释为什么 sizeof 函数在下面的代码中返回不同的值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:08 24 4
gpt4 key购买 nike

谁能解释一下为什么 sizeof 函数在下面的代码中返回不同的值?

//static member
class one
{
public :
static const int a = 10;
};
//non static member
class two
{
public :
int a;
};
int main()
{
cout << sizeof(one); //print 1 to lcd
cout << sizeof(two); //print 4 to lcd,differ from size of one class
}

最佳答案

您应该学习的第一件事是 sizeof不是一个函数,它是一个运算符,就像 +|| .

那么关于你的问题。静态成员变量实际上类中的方式与非静态成员变量相同,因此只有静态成员的类的大小为零。但同时所有对象都需要可寻址,因此具有,这就是为什么 sizeof给你1头等舱。

关于c++ - 谁能向我解释为什么 sizeof 函数在下面的代码中返回不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24865741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com