【发布时间】:2018-02-18 03:42:35
【问题描述】:
如果我有一个字符串string foo 并且我写了foo += 27,那么字符串会附加什么内容?是 ASCII 十六进制值 0x27 还是 0x1b 的字符?
另外,当我尝试foo += 0 时,我收到一个编译错误,提示带有字符串和int 的+= 运算符的重载模棱两可。为什么我在添加非零数字时没有收到编译错误,但我确实收到了零错误?
如果我先说int z = 0,然后说foo += z,我不会收到错误消息。造成差异的原因是什么?
【问题讨论】:
-
值
0曾经是nullptr的表达方式。仍然会导致混淆您是指值还是指针。