string 是一个封装好的库。所以具体实现还是要看库怎么实现的。
截至本博客,个人试验结果:
window:
string 本身是可以存储'\0'字符,'\0'字符只是char 数组的结束符。
如果是一个字符一个字符赋值,string 是可以直接输出空字符的。
但是如果是string s=“12\034"这样的赋值是无法存储的。
理由:"12\034"这个字符串在程序存储是char[],在存储中就已经被截断,自然就不能被赋值给string.
linux:
string 和char[]是一个德行,根本就存不了’\0',此字符也作为string 的结束符。
由于这个差异,代码出现的一个bug好久没调出来,像这种库的封装还是要试验一下在使用,不能被常识左右。