标签: c++ string stdstring null-terminated c-str
我无法理解从string.c_str()返回的char *是否指向同一个缓冲区(并且没有进行任何复制),它是如何以null结尾的?该函数是否在字符串的末尾添加了null-terminator?如果缓冲区没有任何额外的字节来存储它会发生什么?
感谢。
答案 0 :(得分:1)
从C ++ 11开始,字符串在内部以空值终止,both c_str() and data() return the same thing。
c_str()
data()