Я изучаю умные указатели (std::auto_ptr) и просто читаю здесь и здесь, что интеллектуальные указатели (std::auto_ptr) не должны помещаться в контейнеры (т.е. std::vector), потому что даже большинство компиляторов не будут жаловаться, и это может показаться правильным. Не существует правила, согласно которому интеллектуальные указатели не будут копироваться внутри (например, классом vector) и передать его право собственности, тогда указатель станет NULL. В конце концов, все будет испорчено.
В действительности, как часто это происходит?
Иногда у меня есть векторы указателей, и если в будущем я решил, что хочу иметь вектор умных указателей, какие бы мои варианты?
Я знаю библиотеки С++ 0x и Boost, но на данный момент я предпочел бы придерживаться подхода STL.