length()
возвращает количество символов в строке, а size()
возвращает size_t
, который также является тем же, но используется, чтобы сделать его совместимым с другими контейнерами STL.Какая скорость C++ String length() или size()?
Для вычисления length()
строка выполняет итерацию по всем символам и подсчитывает длину. Итак, O(n)
раз.
Есть size()
также такие же?
Или размер переменной можно вычислить непосредственно в O(1)
времени?
Итак, мой вопрос в том, что они одинаковы с точки зрения скорости (как в том, как они рассчитаны), или это размер, вычисляемый в O(1)
времени?
Попробуйте запустить цикл над набором данных (и вычислить время), вы узнаете, какой из них быстро. –
Что заставляет вас думать, что 'length()' is O (n)? –
O (n) в размере ввода? потому что ему придется перебирать все символы строки? – ronilp