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