1、使用 “+=” 性能对比
代码如下
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include<time.h>
using namespace std;
int main() {
struct timespec time_start = { 0, 0 }, time_end = { 0, 0 };
clock_gettime(CLOCK_REALTIME, &time_start);
string result;
int num = 10000;
while (num--) {
// result += "test";
result = result + "test";
}
clock_gettime(CLOCK_REALTIME, &time_end);
int costtime = ((time_end.tv_sec-time_start.tv_sec)*1000000+(time_end.tv_nsec-time_start.tv_nsec)/1000);
cout << costtime << endl;
return 0;
};
使用mbp测试结论如下:
使用 result += "test" 耗时为167us;使用 result = result + "test" 耗时为 8953us。未使用的是使用“+=”的50倍。因此在涉及到字符串拼接的时候建议使用“+=”。