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);

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM