【发布时间】:2013-01-08 00:01:30
【问题描述】:
同事(我真的不使用 char* :))做了一个错误,减少到这个:
testVar.append('\0'); //testVar is std::string
所以他基本上是这样解决的:
testVar.append("\0");
我的问题是为什么第一个不合法? 它不能被认为是0长度0终止的字符串吗? 我尝试进入 VS10 std lib 实现亲自查看,但我后悔了。 :)
【问题讨论】:
-
重点是 '\0' 是一个 0 值的字符,对于指针的特殊值 0 也可以解释为空指针。所以 append('\0') 调用 append((const char*)0)