Я только что скомпилировал свой собственный код с -std=c++0x
флагом в GCC, так как я хочу смутно следить за тем, что делают все молодые люди (при условии, что они остаются на моей лужайке), и я получил массу предупреждений о том, auto_ptr
что не рекомендуется. Конечно, я знал, что auto_ptr
это устарело в C ++ 0x, но ...
Разве амортизация не является пустой тратой времени и усилий? Причины отказа от использования (например, с auto_ptr):
есть океан кода, который все еще нуждается в поддержке, и создание миллионов предупреждений только соблазнит людей отключить предупреждения.
auto_ptr
немного наф, но на самом деле он делает то, что говорит на жестяной банке.если мы действительно хотим осудить вещи, я назначаю
printf()
. Но только представьте визги, которые будут следовать.auto_ptr
у меня не так уж много друзей, но, по крайней мере, в моем C ++-коде он используется больше, чемprintf
вообще не используется.у комитета плохая репутация в получении этого права - они устарели статично в области имен, и теперь это, кажется, устарело - я не удивлюсь, если сделаю
auto_ptr
подобное возвращениенаконец, что бы ни говорили комитет, разработчики компиляторов игнорируют их - они просто не могут рисковать нарушением кода своих клиентов, все, что они могут сделать, это выдавать раздражающие предупреждения.
Итак, мой вопрос - считаете ли вы устаревание (всего, не только auto_ptrs и не только в C ++) хорошей идеей, и если да, то почему?
unique_ptr
и будьте счастливее.
auto_ptr
на примере.