В каких случаях использовать malloc и/или new?
Я вижу, что в C++ существует несколько способов выделения и освобождения памяти, и я понимаю, что при вызове malloc
необходимо вызывать free
, а при использовании оператора new
следует использовать delete
. Также я знаю, что смешивать эти два подхода (например, вызывать free()
для объекта, созданного с помощью new
) — это ошибка. Однако мне не совсем ясно, когда именно следует использовать malloc
/free
, а когда new
/delete
в реальных программах.
Если вы являетесь экспертом в C++, пожалуйста, поделитесь своими правилами или концепциями, которые вы придерживаетесь в этом отношении.
Можно ли получить доступ к памяти локальной переменной вне её области видимости?
Имеют ли круглые скобки после имени типа значение при использовании new?
Почему моя программа работает медленно при обходе ровно 8192 элементов?
Что такое Правило трёх?
Как явно освободить память в Python?