我无法理解从 string.c_str(( 返回的 char * 是否指向相同的缓冲区(并且不制作任何副本( 它是如何以 null 终止的? 该函数是否在字符串末尾添加 null 终止符? 如果缓冲区没有任何额外的字节来存储它会发生什么?
谢谢。
自 C++11 以来,字符串在内部以 null 结尾,c_str()
和data()
都返回相同的内容。