Здравствуйте, jazzer, Вы писали:
J>realloc будет работать только для POD. И, вообще говоря, нет принципиальной проблемы сделать соответствующую специализацию std::vector для подов, чтоб она делала именно realloc, так что ты проверь, вдруг в твоей реализации STL это уже сделано.
а в каких есть? по-моему с оптимизацией заморачивается только stl-port
J>Но shared_ptr — это не POD, и применять к нему realloc нельзя.
J>P.S. У тебя 95% типов в программе — поды?
для большого количества типов relloc будет вполне успешно работать
у меня часто shared_ptr в векторе появляется когда необходим хранить большие типы — например std::vector<std::vector> — не виже причин по которым здесь не буде работать realloc
WA>>Может есть какие-то глубинные причины и я просто туплю, но я не понимаю почему я должен платить за тот выбор который мне не подходит?
J>Спокойнее, ты никому ничего не должен
J>Я вот не могу одного понять — что, в стандарте написано что-то вроде "использование контейнера/алгоритма не из STL — undefined behavior"?
J>Подходит для твоих целей — используй на здоровье.
J>Не подходит — используй своё.
J>А то каждый второй приходит на форум и выступает, что, мол, STL не дает мне использовать мой супер-контейнер или там запрещает писать цикл for( ; ; ) 
фактически я всего лишь спросил почему при проектировании stl было принято именно такое решение.
Использовать свое- это понятно

. Просто удивляет, что возможность задавать аллокатор есть а других возможностей настройки нет.