пятница, 15 июля 2022 г.

[prog.c++.bugs] Вот так всегда: как только видишь рукопашный new/delete, так жди какой-нибудь бяки :(

Что называется краешьком глаза решил глянуть...

Если я еще не забыл C++, то для new T[] должен применяться delete[], а не просто delete.

Цинк, если что.

Где-то там же увидел и еще один фрагмент, от которого глаз дернулся:

У таких классов в старом C++ нужно было делать приватный конструктор копирования (вместе с оператором впридачу). В новом C++ конструкторы/операторы копирования/перемещения должны помечаться как delete.

Оно как бы понятно, что вряд ли именно с этим классом там, где он будет использоваться, будут какие-то проблемы. Но осадочек, как говорится...

Комментариев нет: