获取 std::string 字符串的大小(以字节为单位)

新手上路,请多包涵

我想获取 std::string 的字符串在内存中占用的字节数,而不是字符数。该字符串包含一个多字节字符串。 std::string::size() 会为我做这个吗?

编辑:另外, size() 还包括终止 NULL

原文由 Stackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 878
1 个回答

std::string 对字节进行操作,而不是对 Unicode 字符进行操作,因此 std::string::size() 确实会以字节为单位返回数据的大小(没有 std::string 需要存储的开销数据,当然)。

不, std::string 仅存储您告诉它存储的数据(它不需要尾随 NULL 字符)。因此它不会包含在大小中,除非您明确创建一个带有尾随 NULL 字符的字符串。

原文由 Lukáš Lalinský 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题