0
ответов

Как проверить удаление указателя?

Когда я отлаживаю чужой код, как я могу обнаружить, что указатель удален?
вопрос задан: 22 August 2015 09:12
0
ответов

Удалить против оператора удаления (и пустого указателя)

Отличается ли удаление ptr от оператора удаления(ptr) только тем, что удаление вызывает деструктор ptr? Или, другими словами, вызывает ли delete ptr сначала деструктор ptr, а затем оператор delete(ptr) для освобождения...
вопрос задан: 21 August 2015 22:50
0
ответов

char *new and delete [] ошибка при назначении строки

Мне нужно обновить C++.Почему это дает исключение памяти?pear = new char[1024]; груша = "счастливая удача"; удалить [] груша; // исключение
вопрос задан: 21 August 2015 19:26
0
ответов

Будет ли удаление указателя структуры также удалять указатели внутри структуры?

Предположим, у меня есть структура с двумя указателями, каждый из которых указывает на объект, имеющий реализованный деструктор. Также предположим, что заголовок указывает на структуру Listnode, имеющую ненулевое значение *student ...
вопрос задан: 21 August 2015 14:33
0
ответов

Сборка мусора C# -> удаление в C++

Я преобразовываю проект C# в C++, и у меня возник вопрос об удалении объектов после использования. В C# сборщик мусора, конечно, заботится об удалении объектов, но в C++ это нужно делать явно с помощью команды удаления...
вопрос задан: 21 August 2015 11:17
0
ответов

Можно ли во время выполнения определить, указывает ли указатель на класс C++ или на класс Objective-C?

Вопрос в теме. Я хочу написать какую-нибудь универсальную шаблонную функцию для безопасного удаления объектов и интересно, можно ли использовать что-то вроде этого:template< class T > void SafeDelete(...
вопрос задан: 21 August 2015 10:27
0
ответов

Как я могу удалить созданный мной объект?

Возьмем для примера эту программу: class Piece { общественность: Кусок (bool цвет); защищенный: логический цвет; }; Кусок::Кусок (буль цвет) { это-> цвет = цвет; } //------------------------------ ...
вопрос задан: 21 August 2015 10:22
0
ответов

Насколько серьезна ошибка несоответствия оператора new / delete?

Я обнаружил классическую ошибку несовпадения new / delete в нашем кодовая база выглядит следующим образом: char * foo = new char [10]; // что-то делаем delete foo; // вместо delete [] foo; Насколько это серьезно? Неужели ...
вопрос задан: 20 August 2015 09:50
0
ответов

Сбой при попытке динамически изменить размер массива в C ++?

Прямо сейчас я хочу увеличить размер массива с помощью функция. #include используя пространство имен std; void IncreaseArraySize (int * addr) {int * temp = new int [20]; for (int i = 0; i & ...
вопрос задан: 20 August 2015 08:32
0
ответов

Как интеллектуальные указатели выбирают между удалением и удалением []?

Примите во внимание: удалить новый std :: string [2]; удалить [] новый std :: string; Всем известно, что первое - это ошибка. Если бы второй не был ошибкой, нам не понадобились бы два разных оператора. Теперь рассмотрим: std ...
вопрос задан: 19 August 2015 19:30
0
ответов

А как же работает пользовательский модуль удаления std :: unique_ptr?

Согласно N3290 std :: unique_ptr принимает аргумент удаления в своем конструкторе. Однако я не могу заставить это работать с Visual C ++ 10.0 или MinGW g ++ 4.4.1 в Windows или с g ++ 4.6.1 в Ubuntu. ...
вопрос задан: 18 August 2015 00:04
0
ответов

Удалить на уже удаленном объекте: поведение?

Интересно, что произойдет, если я попытаюсь удалить указатель, который уже удален или, возможно, не был выделен? Я прочитал две вещи: во-первых, этот оператор удаления выполнит некоторые проверки ...
вопрос задан: 16 August 2015 11:11
0
ответов

Где именно в памяти указано количество выделенной памяти, которая используется командой delete?

int * Array; Array = new int [10]; delete [] Array; Удаление знает количество выделенной памяти. Я погуглил, что он сохраняет его в памяти, но это зависит от компилятора. для использования получить это ...
вопрос задан: 2 August 2015 15:28
0
ответов

Почему это undefined поведение для удаления [] массива производных объектов с помощью базового указателя?

Я нашел следующий фрагмент в стандарте C ++ 03 в разделе 5.3.5 [expr.delete] p3: В первом варианте (удалить объект) , если статический тип удаляемого объекта отличается от его ...
вопрос задан: 31 July 2015 19:16
0
ответов

Как правильно удалить char **

У меня есть char **, в основном массив строк, который мне нужно удалить. Как правильно это сделать, чтобы убедиться, что все указатели очищены?
вопрос задан: 24 July 2015 16:48
0
ответов

Почему в C ++ нет выражения удаления размещения?

Почему в C ++ нет удаления размещения, которое напрямую соответствует новому размещению, то есть вызывает деструктор и вызывает соответствующий оператор удаления размещения? Например: MyType * p = new (arena) MyType; ...
вопрос задан: 23 July 2015 18:55
0
ответов

Как удалить объект в a set

В моей программе на C ++ я создаю объекты в одной функции, используя new. Эти объекты вставляются в набор. Когда я хочу удалить объекты из набора, я использую итератор в цикле for. Когда я удаляю ...
вопрос задан: 23 July 2015 15:03
0
ответов

What can cause a segmentation fault using delete command in C++?

I've written a program that allocates a new object of the class T like this: T* obj = new T(tid); where tid is an int Somewhere else in my code, I'm trying to release the object I've allocated, ...
вопрос задан: 21 July 2015 18:16
0
ответов

оператор new или new []

Рассмотрим следующий код: typedef SomeType type_t [2]; SomeType * arr1 = новый type_t; // новый или новый [] ??? type_t * arr2 = новый type_t [3]; // новый или новый [] ??? Согласно стандарту, какая версия нового будет ...
вопрос задан: 21 July 2015 18:04
0
ответов

«удалить это» в конструкторе

Что на самом деле происходит, когда я выполняю этот код? класс MyClass {MyClass () {// делаем что-нибудь удаляем это; } }
вопрос задан: 21 July 2015 15:38
0
ответов

Что происходит с адресом после применения к нему оператора удаления в C ++?

Если я удалю указатель, например, следующим образом: delete myPointer; И после этого не присвоил 0 указателю следующим образом: myPointer = 0; // пропустил это Будет ли myPointer указывать на другой ...
вопрос задан: 20 July 2015 18:56
0
ответов

Объектно-ориентированное самоубийство или удалите это;

Следующий код, скомпилированный с помощью MSVC9.0, запускается и выводит Деструктор четыре раза, что логично. #include класс SomeClass { public: void CommitSuicide () {удалите это; ...
вопрос задан: 11 July 2015 09:43
0
ответов

Прямая формула для суммирования XOR

Мне нужно использовать числа XOR от 1 до N, существует ли для этого прямая формула? Например, если N = 6, то 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 = 7 Я хочу сделать это без использования какого-либо цикла, поэтому мне нужна формула O (1) (если есть)
вопрос задан: 11 July 2015 09:30
0
ответов

Проверка NULL перед удалением объекта с помощью перегруженной команды delete

Это появилось как один из комментариев при проверке кода. Стоит ли проверять NULL перед вызовом delete для любого объекта? Я понимаю, что оператор удаления проверяет наличие NULL внутренне и ...
вопрос задан: 9 July 2015 15:34
0
ответов

новое / удаление «переопределение» или «перегрузка»

Я всегда думал ... переопределение означает повторную реализацию функции (той же сигнатуры) в базовом классе, тогда как перегрузка означает реализацию функции с тем же именем, но другой подписью ... и получил ...
вопрос задан: 9 July 2015 15:13
0
ответов

Должны ли мы удалять до или после стирания для указателя в векторе?

Следует ли удалять до или после стирания. Насколько я понимаю, оба в порядке. Это правильно? Кроме того, есть ли случай, когда мы не хотим удалять элемент во время его стирания? Я считаю, что должно быть ...
вопрос задан: 9 July 2015 15:11
0
ответов

Как освободить вектор указателя?

Как освободить память в векторе указателя? Вот код: класс A {частные: int x, y, z; общедоступные: A (param1, param2, param3) {x = param1; y = ...
вопрос задан: 9 July 2015 15:06
0
ответов

Почему в C ++ есть delete []?

Почему есть delete []? Насколько я понимаю, для массивов он ведет себя иначе. Однако почему он существует на самом деле? В C есть только free и нет free_array. Также в синтаксисе единственная разница ...
вопрос задан: 9 July 2015 15:03
0
ответов

Безопасно ли удалять nullptr в c ++ 0x?

В c ++ 03 совершенно очевидно, что удаление нулевого указателя не имеет никакого эффекта. В самом деле, в §5.3.5 / 2 явно указано, что: В любом варианте, если значение операнда удаления является нулем ...
вопрос задан: 30 November 2014 02:58
0
ответов

Значение = удалить после объявления функции

класс my_class {... my_class (my_class const &) = удалить; ... }; Что означает = удалить в этом контексте? Существуют ли другие «модификаторы» (кроме = 0 и = delete)?
вопрос задан: 17 August 2014 02:53