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