У меня есть этот вопрос, потому что я читаю раздел для auto_ptr
. Он говорит, что auto_ptr
не может быть сохранен в векторе из-за его разрушительной копии и назначения. Я могу это понять как-то, и один пример, который я могу придумать, - это что-то вроде auto_ptr ap = vec[0]
, удивит меня. Но что, если я использую это осторожно и не делаю этого, могу ли я хранить auto_ptr
в векторе? Есть ли какая-то более глубокая причина, почему я не могу хранить? Может быть, для реализации вектора внутренне необходимо это предположение о том, что элементы должны быть скопированы конструктивно?Почему элементы в векторе должны копироваться конструктивно?
Спасибо.
'auto_ptr' устарел и очень прост в использовании. Попробуйте переключиться на 'unique_ptr', это упростит вам работу. –