Re[9]: А С++ то схлопывается...
От: lpd Черногория  
Дата: 01.11.19 11:27
Оценка: :))
Здравствуйте, so5team, Вы писали:

S>Было бы проще, если бы вы поделились своей болью: чем современный C++ вас так обидел, что вы не можете не бросить в него камень?


Уже обсуждал здесь не раз, в том числе с кем-то из ваших.
Если кратко:

Я бы предпочел опциональную сборку мусорам возне с умными указателями(циклические ссылки, выбор shared_ptr/weak_ptr).
Еще большим злом считаю добавление в C++ move-семантики и rvalue-ссылок. Они только усложняют язык. В 98% случаях копирование объектов незначительно замедляет программу. В оставшихся 2% hot-path кода я предпочел бы написать метод MoveTo() явно вручную, а не использовать переусложненную move-семантику. Некоторые доходят до того, что везде где можно вставляют move — это вообще абсурд.

Ну процессоры сейчас в 100 раз быстрее чем в 90х, поэтому эффекты скорости от move-семантики, шаблонов, и прочей экономии на спичках, про которую тут часто говорят, уже не так полезны, как 30 лет назад. Сейчас базы данных на Java пишут, очнитесь.

С недостатками неавтоматического освобождения спорить сложно. Однако
— вместо неявного освобождения unique_ptr<>, лично я предпочту вручную явно вызвать delete. Хотя да, это вопрос вкуса, спорить наверное бесполезно.
— если время жизни объекта неизвестно, то в этом случае shared_ptr может помочь. Но на мой взгляд опциональный сборщик мусора был бы удобнее, чтобы не заботиться о круговых ссылках.

Ну потому, что С++-98 и C++-17 — это совсем разные языки. Общее у них только имя, да частично легаси-синтаксис. И появись фичи C++-17 в каком-нибудь редком языке, а не С++, массовым бы этот редкий язык они не сделали.

У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.