Вопросы по теме 'delete-operator'

Удаление указателя на const (T const *)
У меня основной вопрос относительно константных указателей. Мне не разрешено вызывать какие-либо неконстантные функции-члены с использованием константного указателя. Однако мне разрешено делать это с константным указателем: delete p; Это...
26695 просмотров
schedule 08.11.2022

Почему в C ++ есть delete []?
Почему там delete[] ? Насколько я понимаю, для массивов он ведет себя по-разному. Однако почему он существует на самом деле? В C есть только free и нет free_array. Также в синтаксисе единственная разница между delete var и delete []var - это...
411 просмотров
schedule 27.12.2023

Создать/удалить[] и VirtualAlloc
#include <Windows.h> #include <iostream> using namespace std; int main(void) { unsigned char* pFoo = new unsigned char[1000]; pFoo = (unsigned char*)VirtualAlloc(NULL, 1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);...
1634 просмотров

Скалярный деструктор удаления
У меня есть фрагмент кода (из DLL), который выглядит так: class A { public: virtual ~A(); }; class B : public A { public: ~B(); } ~A() { // #1 } ~B() { // #2 } Когда я использую delete an_instance_of_B , я...
8920 просмотров

Вызывает ли delete[] деструкторы?
Я пишу класс шаблона, который внутренне управляет массивом данного типа. Как это: template<typename T> class Example { // ... private: T* objects; // allocated in c'tor (array), deleted in d'tor // ... }; Мне было...
14349 просмотров
schedule 24.04.2024

Вызов удаления по адресу переменной
Почему я могу: int i = *(new int (5)); и успешно используйте i после него, но когда я пытаюсь: delete &i; Я получаю ошибку времени выполнения: Необработанное исключение по адресу 0x5ddccaf7 (msvcr100d.dll) в Test.exe:...
1647 просмотров

Переопределение операторов New и Delete в библиотеках
Что произойдет, если две библиотеки (динамически связанные) имеют свою собственную глобально переопределенную версию операторов new и delete и используют собственное управление памятью? Является ли вообще неправильным поставлять средства...
1581 просмотров
schedule 16.02.2024

new[]/delete[] и выбрасывание конструкторов/деструкторов в C++
Что происходит в следующем коде, если создание/уничтожение какого-либо элемента массива выбрасывает? X* x = new X[10]; // (1) delete[] x; // (2) Я знаю, что утечки памяти предотвращены, но дополнительно: Объявление (1), разрушены...
934 просмотров

Разве `std::shared_ptr` не должен использовать `std::default_delete` по умолчанию?
std::default_delete может быть специализированным , чтобы разрешить std::unique_ptr для безболезненного управления типами, которые должны быть уничтожены, путем вызова некоторого пользовательского уничтожения -function вместо использования...
1536 просмотров

Глобальная перегрузка операторов New и Delete в c ++
Я перегрузил операторы new и delete , чтобы отслеживать, где мы выделяем и освобождаем память. Перегруженный оператор new работает нормально, но я получаю сообщение об ошибке, когда пытаюсь использовать перегруженный оператор delete . Я...
1470 просмотров

Удаление учетной записи с помощью Firebase Realtime
У меня проблема с удалением учетной записи пользователя. Удаление кода прошло успешно и работает. Единственное, что не работает, это то, что после удаления учетной записи приложение должно привести пользователя на страницу входа, но вместо этого оно...
45 просмотров