【发布时间】:2016-09-27 12:51:04
【问题描述】:
假设我们有一个字符串
std::string str; // some value is assigned
str.empty() 和 str[0] == '\0' 有什么区别?
【问题讨论】:
-
std::string不需要以 '\0' 结尾 -
@appleapple:
str[str.size()]始终是'\0'(如下所述)。 -
是的,(c++11 起)
-
主要区别在于像
std::string str{"\0foo", 4}这样的字符串。std::string,与 C 风格的字符串不同,可能嵌入了 NUL。