使用mingw
我有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
?
我之所以问这个,是因为我有一个程序可以执行多次操作,我需要知道哪个程序更快,但是我还没有测试输入。
我正在为C 11
,因此问题基本上归结为两个作业之间的比较:
A+=B;
和
A=AB;
好吧,从理论上讲,我希望 =版本会更有效,因为您必须仅复制一半的字符。这是假设A最初是用足够的空间分配的,可以容纳更长的字符串而无需重新分配。