请教String和string的区别?

记录一点进步一点 2008-03-30 11:48:09
偶然的原因,实验了一下
BCB 6.0
console | C++


cout<<sizeof(string); //竟然是24 byte,Why?仅仅是大小写不同
cout<<sizeof(String);
cout<<sizeof(AnsiString); // 这两个倒是和想的一样,都是占用4 byte
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
AnsiSring和String是同样的这个我明白了。
我也是看到谭浩强的C++程序设计中提到“sizeof(string)”“为4”个字节,但是验证一下却不是,为什么在BCB中会是24个字节呢?


[Quote=引用 2 楼 yunkaipx 的回复:]
在CBC的头文件SYSMAC.H中定义了:typedef AnsiString String; 也就是说AnsiString 和 String是一致的。
而string 是C++标准库中定义的类。在《C++ Primer》书中有介绍的。
[/Quote]
  • 打赏
  • 举报
回复
两个不同的类,自然大小都不一样了
  • 打赏
  • 举报
回复
在CBC的头文件SYSMAC.H中定义了:typedef AnsiString String; 也就是说AnsiString 和 String是一致的。
而string 是C++标准库中定义的类。在《C++ Primer》书中有介绍的。
Jonix 2008-03-30
  • 打赏
  • 举报
回复
BCB中String就是AnsiString
typedef AnsiString String;
string 却是一个模板类

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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