如果我有一个字符串
另外,当我尝试
如果我首先说
string foo
并且我写foo += 27
,那么会将什么追加到字符串中?是ASCII十六进制值为0x27的字符还是0x1b的字符?另外,当我尝试
foo += 0
时,我会收到编译错误,说是模糊的+=运算符重载,其中包括字符串和整数。为什么我在添加非零数字时不会收到编译错误,但是在添加零时却会收到错误?如果我首先说
int z = 0
然后foo += z
,我就不会收到错误。这是什么原因引起的差异?
0
曾经是表示nullptr
的方式。这仍然会导致混淆,不知道你是指一个值还是一个指针。 - Bo Persson