【发布时间】:2020-12-22 09:11:42
【问题描述】:
可以为 C++ const 字符串调用 .c_str()。
为了有效地实现这一点,这意味着它必须在内部存储一个额外的空字符。 (否则,.c_str() 调用需要复制或修改数据)
因此,即使在调用 c_str() 之前,C++ 字符串也始终以空值结尾。
对吗?还是错了?
【问题讨论】:
-
链接问题中接受的答案有点过时了。更好的 - stackoverflow.com/a/11752722/4074081:
In C++11 and later, mystring.c_str() is equivalent to mystring.data() is equivalent to &mystring[0], and mystring[mystring.size()] is guaranteed to be '\0'.