Возможно, вам следует пересмотреть свой дизайн.
Попытка эмулировать operator[]
или at
для std::list
приведет к падению производительности: эти операции потребуют O (N)и не время O (1), поскольку std::list::iterator
является двунаправленным итератором, а не итератором произвольного доступа.Так что, если вы теперь перебираете контейнер и вызываете []
или at
для каждого элемента, это приведет к O (N * N) вместо O (N).
Вот почему эти операции не предусмотреныstd::list
.