将长度为 0 的字符串 ('0') 传递给需要字符* 的 STL 函数



同事(严重地说,我不使用char* :))犯了一个错误,可以简化为:

testVar.append(''); //testVar is std::string

所以他基本上可以修复它:

testVar.append("");

我的问题是为什么第一个不合法? 不能将其视为 0 长度 0 终止的字符串吗? 我尝试进入VS10 std lib实现,亲眼看看,但我后悔了。:)

'创建一个char文字,它与字符串/char *不同。某些语言将单个字符视为 length-1 字符串,但C++将单个字符定义为基元数据类型,而字符串是字符数组。

最新更新