假设我有3 std :: string A,B和AB。
A是任何东西,B是任何东西,AB是A和B在一起。
这些选项更快(以及为什么):
int main(){
string A = "abc", B = "def", AB = "abcdef";
A += B;
cout<<A<<endl;
}
output: abcdef
或
int main(){
string A = "abc", B = "def", AB = "abcdef";
A = AB;
cout<<A<<endl;
}
output: abcdef
我问这个是因为我有一个程序会多次执行此操作,我需要知道哪个更快,但我还没有测试输入。
我正在使用minGW for C ++ 11
答案 0 :(得分:0)
所以问题基本上归结为两个作业之间的比较:
A+=B;
和
A=AB;
嗯,从理论上讲,我希望+ =版本更有效率,因为你只需复制一半的字符。这假设A最初被分配了足够的空间来容纳更长的字符串而无需重新分配。