2
ответа

функция удаления в C ++

Я видел пример использования функции: delete в cpp и не совсем понял его. это код: имя класса {const char * s; //... }; class Table {Name * p; size_t sz; ...
вопрос задан: 9 July 2015 10:54
2
ответа

Есть ли какой-либо стандарт, удаляют функтор?

Я ищу функтор, который удаляет его аргумент: шаблон <класс T> структура delete_functor {оператор void () (T* p) {удаляет p; }}; Есть ли что-то вроде этого в станд....
вопрос задан: 6 July 2015 19:07
2
ответа

Как Вы объявляете и используете перегруженный оператор пула, удаляют?

Я хотел бы знать, как адаптировать раздел 11.14 из C ++-FAQ-lite к массивам. В основном я хотел бы что-то вроде этого: класс Пул {общественность: пусто* выделяют (size_t размер) {...} Пусто освободите (...
вопрос задан: 16 December 2014 17:16
2
ответа

Неопределенное поведение при удалении канавки массива символов освобождает *

Это верный что следующие урожаи неопределенное поведение: освободите * что-то = ПУСТОЙ УКАЗАТЕЛЬ; символ * буферизует = новый символ [10]; что-то = буфер; буферизуйте = ПУСТОЙ УКАЗАТЕЛЬ; удалите [] что-то;//неопределенный?? Сделайте меня сначала...
вопрос задан: 14 August 2014 11:20
1
ответ

Где в Стандарте C++ делает он говорит:: удалите может изменить lvalues?

Я столкнулся со своим первым компилятором, который изменяется, lvalue передал:: удалите, но не обнуляйте lvalue. Это следующее, верно: Foo * p = новый Foo (); Foo * q = p; утверждайте (p! = 0); утверждайте (p...
вопрос задан: 23 May 2017 10:27
0
ответов

C++ удалить вектор, объекты, свободную память

Я совершенно запутался в отношении удаления вещей в C++. Если я объявлю массив объектов и использую функцию-член clear (). Могу ли я быть уверен, что память была освобождена? Например :...
вопрос задан: 10 August 2019 13:55
0
ответов

Можно ли почистить испорченную кучу?

Если я испорчу свою кучу, могу ли я ее потом почистить? Если да, то как? Пример повреждения кучи: int * x = new int; // Если мы выделяем память с новым, мы должны освободить ее позже .. x ++; * х = 1; // the ...
вопрос задан: 3 March 2019 19:56
0
ответов

Исключение выдается при удалении [] при удалении int *

Я использую «динамическое выделение памяти», чтобы создать массив для домашнего задания, где нам не разрешено использовать стандартные массивы или векторы C ++. В методе изменения размера я создаю новый массив с желаемым ...
вопрос задан: 20 January 2019 07:33
0
ответов

Удалить объект указателя в C ++

Я прочитал следующий код для удаления объекта указателя в проекте с открытым исходным кодом X3C. //!Удалить объект-указатель. / *! \ ingroup _GROUP_UTILFUNC \ param p объект-указатель, созданный с использованием 'new'. * / ...
вопрос задан: 15 October 2018 12:36
0
ответов

Почему * должны * удалять [] и удалять разные?

Я хорошо знаю, что в C ++ удаление [] для нового [], удаление для нового. Это не о синтаксисе C ++. Я задаюсь вопросом о причинах, по которым delete [] был определен как нечто отличное от простого удаления ....
вопрос задан: 19 October 2017 14:31
0
ответов

Если я удалю класс, будут ли автоматически удалены его переменные-члены?

Я занимался исследованиями, и ничего подходящего не пришло, поэтому я пришел сюда. Я пытаюсь избежать утечек памяти, поэтому мне интересно: скажем, у меня есть класс MyClass с членами-членами a и b, и массив int c, ...
вопрос задан: 15 August 2017 05:56
0
ответов

Полезность «удалить это» в функции-члене [дубликат]

Возможные дубликаты: можно ли использовать «удалить это» удалить текущий объект? Должны ли объекты удалять себя в C ++? Я только что наткнулся на этот вопрос на programmers.stackexchange ...
вопрос задан: 12 August 2017 03:32
0
ответов

Гарантированно ли указатель сохранит свое значение после `delete` в C ++?

На основе этого вопроса. Предположим, что в коде C ++ у меня есть действительный указатель и я правильно его удалил. В соответствии со стандартом C ++ указатель станет недействительным (3.7.3.2/4 - функция освобождения ...
вопрос задан: 23 May 2017 12:25
0
ответов

Изменилось ли в прошлом поведение при удалении указателей на константу?

Я получил следующий тестовый код с http://support.microsoft.com/kb/ 131322: const int * pi = new int (1000); const char * pch = новый символ (65); void main (void) {delete pi; // Ошибка C2710: ...
вопрос задан: 23 May 2017 12:21
0
ответов

Зачем заменять стандартные операторы new и delete?

Зачем заменять стандартные операторы new и delete на собственные операторы new и delete? Это продолжение раздела Overloading new и delete в чрезвычайно ярком FAQ по C ++: ...
вопрос задан: 23 May 2017 12:17
0
ответов

Как мне написать пользовательские операторы new и delete, соответствующие стандарту ISO C ++?

Как мне написать пользовательские операторы new и delete, соответствующие стандарту ISO C ++? Это продолжение раздела «Перегрузка нового» и «Удалить» в чрезвычайно ярких часто задаваемых вопросах по C ++, «Перегрузка операторов» и ...
вопрос задан: 23 May 2017 12:09
0
ответов

Может ли объект освободить свою память? [дубликат]

Возможные дубликаты: C++: Удалить это? Объектно-ориентированное самоубийство или удалите это; Я изучаю C++, читая очень хорошую книгу C++ Primer, и я изучаю, как C++ освобождает память с помощью ...
вопрос задан: 23 May 2017 12:06
0
ответов

delete [] Массив символов [дубликат]

Возможный дубликат: delete [] предоставил измененный указатель new-ed. Неопределенное поведение? Допустим, я выделил несколько символов с помощью new char [number]. Будет ли возможно удалить только ...
вопрос задан: 23 May 2017 12:06
0
ответов

Удаление нулевого указателя [дубликат]

Возможный дубликат: есть ли причина проверять нулевой указатель перед удалением? Я часто вижу в коде следующее: if (указатель) удалить указатель; Насколько я понимаю, удаление безопасно ...
вопрос задан: 23 May 2017 12:00
0
ответов

Что произойдет, если вы удалите это в C ++ [duplicate]

Возможный дубликат: Можно ли использовать «удалить» для удаления текущего объекта? Я только что видел код, в котором это удалили; в функции класса, я знаю, что это не ...
вопрос задан: 23 May 2017 11:58
0
ответов

Законность использования оператора delete для указателя, полученного в результате размещения new

Я совершенно уверен, что этот код должен быть незаконным, так как он явно не работает, но, похоже, разрешено C ++ 0x FCD. класс X {/ * ... * /}; void * raw = malloc (sizeof (X)); X * p = новый (необработанный) X (); ...
вопрос задан: 23 May 2017 11:51
0
ответов

Почему в классы потока C ++ добавлена ​​функция преобразования оператора void * ()?

В потоковых классах C ++ есть оператор функции преобразования void * () const. так что все объекты потока могут быть неявно преобразованы в void *. Во время взаимодействия с программистами на SO они предлагают ...
вопрос задан: 27 December 2015 23:35
0
ответов

Удалить указатель на указатель (как массив массивов)

У меня есть это в моем коде: double ** desc = new double * [size_out]; for (int i = 0; i
вопрос задан: 27 December 2015 09:25
0
ответов

Поскольку оператор delete деаллоцирует память, зачем мне нужен деструктор?

Из c++ FAQ: http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.9 Помните: delete p делает две вещи: вызывает деструктор и деаллоцирует память. Если delete деаллоцирует память, то ...
вопрос задан: 26 December 2015 01:21
0
ответов

Почему компилятор требует 'delete []p' против 'delete p[]'?

В C++, если вы хотите динамически выделять массив, вы можете сделать что-то вроде этого: int *p; p = новый int[i]; i — это некоторое число Однако, чтобы удалить массив, вы делаете... исключить[] p; Почему бы и нет...
вопрос задан: 21 September 2015 09:05
0
ответов

Замена удаления в C++, дезинформация

Я пытаюсь (и решил )проблему с выравниванием 16 байтов в классе, содержащем оптимизированные для SSE элементы. Но что меня беспокоит, так это большая часть примеров, которые я нашел в Интернете...
вопрос задан: 23 August 2015 11:19
0
ответов

Могу ли я вызвать удаление для примитивов?

У меня есть шаблонный класс myFoo, в котором хранятся "материалы" типа T, которые могут быть либо примитивными, либо указателями на сложные типы. Когда myFoo удаляется, я хочу освободить всю память, связанную с...
вопрос задан: 23 August 2015 11:19
0
ответов

Как удалить указатель, назначенный базовому классу?

У меня есть базовый класс A и производный класс B. class A {A (); виртуальный ~ A (); void func1 (); виртуальная пустота func2 (); }; класс B: общедоступный A {B (); ~ B (); void func2 (); }; инт ...
вопрос задан: 22 August 2015 19:53
0
ответов

Удалить указатель для удаления из вектора

Скажем, у меня есть вектор указателей на объекты «Порядок». Теперь я хочу удалить заказ из этого вектора. Интересно, является ли следующий способ правильным способом удаления такого указателя? std :: vector ...
вопрос задан: 22 August 2015 12:56
0
ответов

Поведение malloc при удалении в C++

int *p=(int * )malloc(sizeof(int)); удалить р; Когда мы выделяем память с помощью malloc, мы должны освобождать ее с помощью free, а когда мы выделяем с помощью new в C++, мы должны освобождать ее с помощью удаления. ...
вопрос задан: 22 August 2015 12:54