>Не сочтите за укор, но мне сдаётся, что вы пытаетесь прыгнуть выше
>головы.
Часто это бывает полезным - тело вытягивается ;)
> Пытаетесь оптимизировать некий потенциальный код, не зная толком, что выдаёт
>компилятор и как с этим работает процессор. И даже не ознакомившись
>предварительно с рекомендациями авторов STL по использованию оной.
Нет. Не совсем так. Код - не совсем потенциальный. Честно говоря, в спешке я написал некоторые функции на основе malloc, которые заменяли в программе использование стандартных контейнеров, и они надежно работают (нет утечек). Но уже тогда, когда я все это писал я знал о существовании стандартных функций, и вот теперь, когда появилась следующая задача, и я примерно представляю как ее решать, я хочу пользоваться более стройными и выверенными решениями тех самых "неглупых" людей о которых вы и пишете. И сделать это _в соответствии с рекомендациями_.
>Мне кажется, что STL и её реализации (например, от GNU) писали неглупые
>люди. И что лучше потратить время на изучение инструмента, чем охотиться
>за призраками.
Что я и делаю. Если вы помните, то в начале темы я вообще не знал как называется этот инструмент.
>К тому же оптимизация хороша в контексте, а абстрактно она не имеет
Контекст есть, но обсуждать его в этой теме нет необходимости.
>А обращение к приватным данным класса напрямую представляется мне одной из самых
>плохих идей, которые можно вообразить. Какой смысл тогда в использовании классов?
Собственно, ответ на вопрос, как избежать некорректного обращения к приватным данным я и пытался получить.
Использование шаблона STL iterator и есть рекомендация авторов (См. кусок кода в предыдущем сообщении. Обратите внимание на то, что прямого обращения к приватному куску объекта там нет). Кстати, если вы уже давно знакомы с STL и широко ее используете, то возможно, вам будет интересно освежить в памяти раздел про итераторы, про то, какими они бывают и в каких случаях используются. Лично я понимаю их необходимость, как шаблонов для замены указателей, предназначенных, в том числе, для быстрого перебора.
>Только ради автоматического освобожюдения памяти после использования? Тогда уж лучше написать
>свой класс, если STL не устраивает. Но что-то мне подсказывает, что
>в этом случае вы не получите ничего, кроме потенциальных проблем сразу
>или в будущем. (То есть, я не хочу, конечно, сказать, что
>своих классов писать вообще не надо. Но для тех целей, которые
>вы описываете, стандартных классов должно быть вполне достаточно. Главное - научиться
>ими пользоваться)
Не стоит рассматривать приведенные куски кода как цель или контекст.
Я и не описывал никаких целей. Интересовался лишь возможностью замены указателей (ну или в вашей терминологии - рекомендациями), но ответ я нашел как раз в документации, хотя мог бы получить его и здесь, если нашелся бы человек, который точно его знал.