Какова сложность времени BigO в модификации строки в C ++? - PullRequest
1 голос
/ 08 ноября 2019

Что такое время выполнения модификации std :: string? Я предполагаю постоянное время или что-то еще происходит под капотом в классе струн?

#include <string>

int main() {
  std::string str = "Hello World!"
  str[1] =  'a';  // <--- what is the runtime?
}

Приветствия

1 Ответ

2 голосов
/ 08 ноября 2019

Это верно, это постоянно. Согласно this :

Сложность

Константа.

Для C ++ 11, то есть для C + она не указана+98, но я бы не предположил, что реализация с непостоянной std::string::operator[] была бы обычным явлением.

...