C++ std::string 在一个字符串前插入一个字符串几种方式
1、直接使用字符串相加
std::string a = "hello";
std::string b = "hello";
for(int i = 0; i < 100; ++i)
{
a = b + a;
}
2、使用insert函数
std::string a = "hello";
for(int i = 0; i < 100; ++i)
{
a.insert(0, "hello");
}
比较:通过Quick C++ Benchmarks 可得到结果
static void StringCreation(benchmark::State& state) {
// Code inside this loop is measured repeatedly
std::string x = "hello";
for (auto _ : state) {
x.insert(0,"hello");
// Make sure the variable is not optimized away by compiler
benchmark::DoNotOptimize(x);
}
}
// Register the function as a benchmark
BENCHMARK(StringCreation);
static void StringCopy(benchmark::State& state) {
// Code before the loop is not measured
std::string x = "hello";
for (auto _ : state) {
x = "hello" + x;
}
}
BENCHMARK(StringCopy);
- 原文作者:Daryl
- 原文链接:https://siskinc.github.io/post/cplusplus_stdstring_%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%89%8D%E6%8F%92%E5%85%A5%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。