先不说,直接给代码:
#include< iostream>
#include <sys/types.h>
#include <unistd.h>
using namespace std;
struct S{}ps;
class A{};
class B{void show();};
class C{virtual void student();};
int main()
{
int p[0];
cout<<“sizeof(p[0])=”<<sizeof(p[0])<<endl;
cout<<“sizeof( p)=”<<sizeof( p)<<endl;
cout<<“sizeof(A)=”<<sizeof(A)<<endl;
cout<<“sizeof(B)=”<<sizeof(B)<<endl;
cout<<“sizeof( C)=”<<sizeof( C)<<endl;
cout<<“sizeof(struct S)=”<<sizeof(struct S)<<endl;
return 0;
}
题目很有意思,想知道答案的小伙伴继续往下看:
因为我的是64位的虚拟机,所以…
需要注意的是sizeof( p)、sizeof(A)和sizeof(struct S)。
类中存在的static变量对于sizeof(类名)是不影响其大小的。
c++面试笔记10(关于sizeof(class)和sizeof(其它)的有趣的情况)
最新推荐文章于 2024-08-19 23:47:24 发布