下面有两行实现同样功能的代码
<1> str = str + 'i';
<2> str += 'i';
它们都只是在字符串的末尾添加了一个 'i'
但是就效率而言, <2> 是优于 <1> 的
其效率相差在于返回值
前者需要将加法运算的结果构造一个新的字符串返回再赋值给 str ,而且 ‘+=’ 运算的返回值是 str 的引用
后者直接在当前字符串上修改然后返回 str 的引用
另外,自加减运算符也是类似的 ( 当然,前提是不会直接使用它的返回值 )
a++ 会返回自身的值
++a 会返回自身的引用
如果 a 不是一个 int 而是一个迭代器,就会有效率的差异了