问题一:

结果为4,4,1;如果去掉虚函数func2(),则结果为1,1,1
说明两个问题,加了虚函数则有了虚函数表,则父类和子类都变为4个字节(一个指针大小),如果为空类,则占用一个字节。
静态数据放在静态区,不参与sizeof的运算。
如果将静态换为非静态,无论是public还是private,结果都为8,8,1
问题二:
[-1]表示指针向前移动一位,如果未定义则是野指针,否则会正常输出值

结果返回ed
计算过程为 str指针移动4位到hi,再回退一位到ed
本文探讨了虚函数和静态数据成员对C++类大小的影响,解析了不同情况下类的大小变化,并解释了指针操作如何影响字符串输出。
问题一:

结果为4,4,1;如果去掉虚函数func2(),则结果为1,1,1
说明两个问题,加了虚函数则有了虚函数表,则父类和子类都变为4个字节(一个指针大小),如果为空类,则占用一个字节。
静态数据放在静态区,不参与sizeof的运算。
如果将静态换为非静态,无论是public还是private,结果都为8,8,1
问题二:
[-1]表示指针向前移动一位,如果未定义则是野指针,否则会正常输出值

结果返回ed
计算过程为 str指针移动4位到hi,再回退一位到ed
424

被折叠的 条评论
为什么被折叠?
