C++中关于类的内存空间问题

#include<iostream>using namespace std;class Test{ public: void Show(){ cout<<"char in Test is:"<<c<<endl;} private: char c;};int main(){ Test test; cout<<"Size of Test is"<<sizeof(test)<<endl; return 0;}这个函数的执行结果是什么?我们老师说是4,可是我在很多编译器上的运行结果都是1,这个到底和“字节对齐”有关吗?请高手指点。
2026年09月20日 08:23
有5个网友回答
网友(1):

类和结构体一样都会有字节对齐,
这个类只有一个成员变量,不会进行对齐的,
事实说了算,老师也不一定总是对的。
你可以拿这个测试结果跟老师交流一下,或许是你没有完全理解老师的意思。

网友(2):

char 占1字节

网友(3):

的确是老师讲错了,char是一个字节,int是4个字节,float和long都是8个字节

网友(4):

你老师讲错了。。
是1。没错..

网友(5):

是1