首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::string是否以'/0‘结尾?

问std::string是否以'/0‘结尾?
EN

Stack Overflow用户
提问于 2013-11-28 08:48:22
回答 3查看 297关注 0票数 0
代码语言:javascript
复制
char *pt = "hello";
std::string str = "hello";

str是否也以'/0'结尾(是否以null结尾)?

EN

回答 3

Stack Overflow用户

发布于 2013-11-28 08:55:04

std::string是否以null结尾是由实现定义的。

str定义后的实际内容:

代码语言:javascript
复制
std::string str = "hello";

是字符'h'、'e'、'l'、'l'、'o',其size仅等于5个字符。

票数 3
EN

Stack Overflow用户

发布于 2013-11-28 08:51:02

由str管理的缓冲区可以是空终止的,但不一定是空的。

票数 2
EN

Stack Overflow用户

发布于 2013-11-28 09:10:08

str.c_str()将为您提供一个const char*,它指向一个以null结尾的连续缓冲区(就像您的"hello"字符串文字一样)。

但是要注意使用&str[0],因为它不能保证指向一个连续的缓冲区,也不能保证这个缓冲区是以null结尾的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20255864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档