Результаты поиска по запросу "delete-operator"
Почему не удаляет уничтожить что-нибудь?
Я немного играю с динамическим распределением памяти, но не понимаю. При выделении некоторой памяти с
Объектно-ориентированное самоубийство или удалить это;
Следующий код, скомпилированный с MSVC9.0, запускается и выводитDestructor четыре раза, что логично.
, У вас будет меньше ошибок (в сто раз меньше ошибок).
я есть это в моем коде:
Почему я могу получить доступ к функциям-членам даже после удаления объекта?
Я новичок в C ++ и из того, что я узнал до сих пор, когда вы вызываете delete для указателя, который указывает на что-то, созданное в куче, тогда все, что указано этим указателем, стирается, и память освобождается, верно? Однако, когда я ...
5.3.5, а не 3.7.4.
рен, что этот код должен быть незаконным, так как он явно не будет работать, но, похоже, это разрешено C ++ 0x FCD.
не является нормативной ссылкой. Абзац, который вы цитируете, может быть также истолкован так, чтобы сказать, что освобождение следует за разрушением безоговорочно
исал код ниже, который перегружаетnew а такжеdelete операторы и выбрасывает исключение в деструкторе. Когда возникает исключение, почему код вdelete оператор не выполнен (и "пока" напечатан)? Если это не должно быть выполнено, (как) ...
@chaosink Я сам написал это из сборки - это просто, чтобы помочь тем, кто плохо читает сборку.
сса в следующих кодах: A, B, C и D. У них всех есть членoperator new[]. Кроме того, B имеет конструктор;С имеет деструктор;D имеет членoperator delete[]. Параметрsize членаoperator new[] иsizeof из 4 классов выводятся: new[] A 40 new[] B 40 ...
Однако вопрос хороший, и проблема существует. Опытные инженеры должны знать об этом.
яdelete например, указатель следующим образом: delete myPointer;И после этого сделалненазначать0 к указателю следующим образом: myPointer = 0; //skipped thisБудетmyPointer указывать на другой адрес памяти?