两条线之间有明显的区别吗?我的同事说使用+ =“更快”,但我不明白为什么他们应该有所不同:
string s1 = "hello";
string s2 = " world";
// Option 1
s1 += s2;
// Option 2
s1.append(s2);
为了澄清,我不是在询问这两个函数之间的使用差异 - 我知道append()
可以用于更广泛的用途和{{1}有点更专业。我关心的是如何处理这个特定的例子。
答案 0 :(得分:8)
根据有关string::op+= / online c++ standard draft的标准,我不希望有任何不同之处:
的basic_string&安培; operator + =(const basic_string& str);
(1)效果:调用追加(str)。
(2)返回:* this。
答案 1 :(得分:2)
在Visual Studio 2017中,operator + =是一个内联函数,它调用append()。