Интеллектуальные указатели в контейнере, например std :: vector?

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

На самом деле, как часто это происходит?

Иногда у меня есть векторы указателей, и если в будущем я решу, что хочу иметь вектор интеллектуальных указателей, что бы я options?

Мне известны библиотеки C ++ 0x и Boost, но пока я предпочел бы придерживаться подхода STL.

19
задан Griwes 31 August 2014 в 11:56
поделиться