神了:空类sizeof=8,你的编译器是怎样的?

My_Love 2012-10-25 11:18:39
XE2.C++和BC++下
	class X
{
};

class Y
{
short d;
};

X *p;
Y *q;

int A = sizeof(*p); // 结果A==8!!!
int B = sizeof(*q); // 结果B==2马马虎虎

你的编译器内?
...全文
447 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
安然 2012-11-25
  • 打赏
  • 举报
回复
引用 11 楼 My_Love 的回复:
引用 10 楼 的回复:ps,我在论坛里所有说错的地方,请尽管拿出依据来羞辱我,我会感谢你的,而且立即更正 你脑子有病,没事找羞辱?这是技术论坛,不是精神病院!
我去,这样就愤怒了,你也太小气了。
zzhays 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 6 楼 的回复:

引用 3 楼 的回复:

怎么可能呢,基本上所有的编译器都是1,楼主能告诉我你的编译器么或者你的开发环境?


主楼不是写了么,C++ Builder空类占8字节

标准没有规定空类应占多少字节

看这个头像,没看错的话,在另一贴里楼主都不顾标准的


具体实现不仅要看编译器,还要看编译器的具体版本。所以应该依赖标准写程序,而不是依赖编译……
[/Quote]
谢谢提醒,也谢谢指正
zhousitiaoda 2012-10-25
  • 打赏
  • 举报
回复
VS2005 A = 1
chenlu1 2012-10-25
  • 打赏
  • 举报
回复
看用什么编译器吧
yisikaipu 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:

ps,我在论坛里所有说错的地方,请尽管拿出依据来羞辱我,我会感谢你的,而且立即更正

你脑子有病,没事找羞辱?这是技术论坛,不是精神病院!
[/Quote]

你也知道这是技术论坛?那么你现在懂什么什么未定义行为了?
My_Love 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

ps,我在论坛里所有说错的地方,请尽管拿出依据来羞辱我,我会感谢你的,而且立即更正
[/Quote]
你脑子有病,没事找羞辱?这是技术论坛,不是精神病院!
yisikaipu 2012-10-25
  • 打赏
  • 举报
回复
ps,我在论坛里所有说错的地方,请尽管拿出依据来羞辱我,我会感谢你的,而且立即更正
yisikaipu 2012-10-25
  • 打赏
  • 举报
回复
这都能激怒?看来是戳痛了

再激怒你一下:不懂标准的比不知道标准的懂得更多一点
My_Love 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 6 楼 的回复:

引用 3 楼 的回复:

怎么可能呢,基本上所有的编译器都是1,楼主能告诉我你的编译器么或者你的开发环境?


主楼不是写了么,C++ Builder空类占8字节

标准没有规定空类应占多少字节

看这个头像,没看错的话,在另一贴里楼主都不顾标准的


具体实现不仅要看编译器,还要看编译器的具体版本。所以应该依赖标准写程序,而不是依赖编译……
[/Quote]
你懂什么标准?
滚!
yisikaipu 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 3 楼 的回复:

怎么可能呢,基本上所有的编译器都是1,楼主能告诉我你的编译器么或者你的开发环境?


主楼不是写了么,C++ Builder空类占8字节

标准没有规定空类应占多少字节

看这个头像,没看错的话,在另一贴里楼主都不顾标准的
[/Quote]

具体实现不仅要看编译器,还要看编译器的具体版本。所以应该依赖标准写程序,而不是依赖编译器,否则经常会有“神了”
yisikaipu 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

怎么可能呢,基本上所有的编译器都是1,楼主能告诉我你的编译器么或者你的开发环境?
[/Quote]

主楼不是写了么,C++ Builder空类占8字节

标准没有规定空类应占多少字节

看这个头像,没看错的话,在另一贴里楼主都不顾标准的
十八道胡同 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

http://blog.csdn.net/supermegaboy/article/details/6858177
[/Quote]

好文!!
wangxuan375 2012-10-25
  • 打赏
  • 举报
回复
反正sizeof空类是!=0的。。。
zzhays 2012-10-25
  • 打赏
  • 举报
回复
怎么可能呢,基本上所有的编译器都是1,楼主能告诉我你的编译器么或者你的开发环境?

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧