Сообщение Re: POD vs delete [] от 24.06.2016 9:10
Изменено 24.06.2016 9:20 VTT
new->malloc, delete[]->free — это крайне грубые ошибки.
Сегодня вы знаете где POD, а завтра кто-то заменит этот POD на не POD и вы все вместе сядите в лужу.
Освобождающий память метод всегда должен соответствовать методу, выделившему ее, так что диагностика однозначно полезная.
А вот кусок
даже не соберется, так как не все параметры шаблона указаны, надо либо так
либо более лаконично
На скорость компиляции это все никаким заметным образом не влияет.
Хотя страдальцам, у которых все часами компилируются, будет не легче.
Сегодня вы знаете где POD, а завтра кто-то заменит этот POD на не POD и вы все вместе сядите в лужу.
Освобождающий память метод всегда должен соответствовать методу, выделившему ее, так что диагностика однозначно полезная.
А вот кусок
std::shared_ptr<int> ss(new int[decks * 52], std::default_delete<int[]>());
даже не соберется, так как не все параметры шаблона указаны, надо либо так
std::shared_ptr<int, std::default_delete<int[]> > ss(new int[decks * 52], std::default_delete<int[]>());
либо более лаконично
std::shared_ptr<int[]> ss(new int[decks * 52]);
На скорость компиляции это все никаким заметным образом не влияет.
Хотя страдальцам, у которых все часами компилируются, будет не легче.
Re: POD vs delete []
new->malloc, delete[]->free — это крайне грубые ошибки.
Сегодня вы знаете где POD, а завтра кто-то заменит этот POD на не POD и вы все вместе сядите в лужу.
Освобождающий память метод всегда должен соответствовать методу, выделившему ее, так что диагностика однозначно полезная.
На скорость компиляции это все никаким заметным образом не влияет.
Хотя страдальцам, у которых все часами компилируются, будет не легче.
Сегодня вы знаете где POD, а завтра кто-то заменит этот POD на не POD и вы все вместе сядите в лужу.
Освобождающий память метод всегда должен соответствовать методу, выделившему ее, так что диагностика однозначно полезная.
На скорость компиляции это все никаким заметным образом не влияет.
Хотя страдальцам, у которых все часами компилируются, будет не легче.