Я щойно складав якийсь власний код із -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
як приклад.