Я видел пример использования функции: delete в cpp и не совсем понял его.
это код: имя класса {const char * s; //...
}; class Table {Name * p; size_t sz;
...
Я ищу функтор, который удаляет его аргумент: шаблон <класс T> структура delete_functor {оператор void () (T* p) {удаляет p; }}; Есть ли что-то вроде этого в станд....
Я хотел бы знать, как адаптировать раздел 11.14 из C ++-FAQ-lite к массивам. В основном я хотел бы что-то вроде этого: класс Пул {общественность: пусто* выделяют (size_t размер) {...} Пусто освободите (...
Это верный что следующие урожаи неопределенное поведение: освободите * что-то = ПУСТОЙ УКАЗАТЕЛЬ; символ * буферизует = новый символ [10]; что-то = буфер; буферизуйте = ПУСТОЙ УКАЗАТЕЛЬ; удалите [] что-то;//неопределенный?? Сделайте меня сначала...
Я столкнулся со своим первым компилятором, который изменяется, lvalue передал:: удалите, но не обнуляйте lvalue. Это следующее, верно: Foo * p = новый Foo (); Foo * q = p; утверждайте (p! = 0); утверждайте (p...
Я совершенно запутался в отношении удаления вещей в C++. Если я объявлю массив объектов и использую функцию-член clear (). Могу ли я быть уверен, что память была освобождена? Например :...
Если я испорчу свою кучу, могу ли я ее потом почистить? Если да, то как? Пример повреждения кучи: int * x = new int; // Если мы выделяем память с новым, мы должны освободить ее позже .. x ++; * х = 1; // the ...
Я использую «динамическое выделение памяти», чтобы создать массив для домашнего задания, где нам не разрешено использовать стандартные массивы или векторы C ++. В методе изменения размера я создаю новый массив с желаемым ...
Я прочитал следующий код для удаления объекта указателя в проекте с открытым исходным кодом X3C. //!Удалить объект-указатель.
/ *! \ ingroup _GROUP_UTILFUNC \ param p объект-указатель, созданный с использованием 'new'.
* /
...
Я хорошо знаю, что в C ++ удаление [] для нового [], удаление для нового. Это не о синтаксисе C ++. Я задаюсь вопросом о причинах, по которым delete [] был определен как нечто отличное от простого удаления ....
Я занимался исследованиями, и ничего подходящего не пришло, поэтому я пришел сюда. Я пытаюсь избежать утечек памяти, поэтому мне интересно: скажем, у меня есть класс MyClass с членами-членами a и b, и массив int c, ...
Возможные дубликаты: можно ли использовать «удалить это» удалить текущий объект? Должны ли объекты удалять себя в C ++? Я только что наткнулся на этот вопрос на programmers.stackexchange ...
На основе этого вопроса. Предположим, что в коде C ++ у меня есть действительный указатель и я правильно его удалил. В соответствии со стандартом C ++ указатель станет недействительным (3.7.3.2/4 - функция освобождения ...
Я получил следующий тестовый код с http://support.microsoft.com/kb/ 131322: const int * pi = new int (1000);
const char * pch = новый символ (65); void main (void) {delete pi; // Ошибка C2710: ...
Зачем заменять стандартные операторы new и delete на собственные операторы new и delete? Это продолжение раздела Overloading new и delete в чрезвычайно ярком FAQ по C ++:
...
Как мне написать пользовательские операторы new и delete, соответствующие стандарту ISO C ++? Это продолжение раздела «Перегрузка нового» и «Удалить» в чрезвычайно ярких часто задаваемых вопросах по C ++, «Перегрузка операторов» и ...
Возможные дубликаты: C++: Удалить это? Объектно-ориентированное самоубийство или удалите это; Я изучаю C++, читая очень хорошую книгу C++ Primer, и я изучаю, как C++ освобождает память с помощью ...
Возможный дубликат: delete [] предоставил измененный указатель new-ed. Неопределенное поведение? Допустим, я выделил несколько символов с помощью new char [number]. Будет ли возможно удалить только ...
Возможный дубликат: есть ли причина проверять нулевой указатель перед удалением? Я часто вижу в коде следующее: if (указатель) удалить указатель; Насколько я понимаю, удаление безопасно ...
Возможный дубликат: Можно ли использовать «удалить» для удаления текущего объекта? Я только что видел код, в котором это удалили; в функции класса, я знаю, что это не ...
Я совершенно уверен, что этот код должен быть незаконным, так как он явно не работает, но, похоже, разрешено C ++ 0x FCD. класс X {/ * ... * /};
void * raw = malloc (sizeof (X));
X * p = новый (необработанный) X (); ...
В потоковых классах C ++ есть оператор функции преобразования void * () const. так что все объекты потока могут быть неявно преобразованы в void *. Во время взаимодействия с программистами на SO они предлагают ...
Из c++ FAQ: http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.9 Помните: delete p делает две вещи: вызывает деструктор и деаллоцирует память. Если delete деаллоцирует память, то ...
В C++, если вы хотите динамически выделять массив, вы можете сделать что-то вроде этого: int *p;
p = новый int[i]; i — это некоторое число Однако, чтобы удалить массив, вы делаете... исключить[] p; Почему бы и нет...
Я пытаюсь (и решил )проблему с выравниванием 16 байтов в классе, содержащем оптимизированные для SSE элементы. Но что меня беспокоит, так это большая часть примеров, которые я нашел в Интернете...
У меня есть шаблонный класс myFoo, в котором хранятся "материалы" типа T, которые могут быть либо примитивными, либо указателями на сложные типы. Когда myFoo удаляется, я хочу освободить всю память, связанную с...
У меня есть базовый класс A и производный класс B. class A {A (); виртуальный ~ A (); void func1 (); виртуальная пустота func2 (); }; класс B: общедоступный A {B (); ~ B (); void func2 (); }; инт ...
Скажем, у меня есть вектор указателей на объекты «Порядок». Теперь я хочу удалить заказ из этого вектора. Интересно, является ли следующий способ правильным способом удаления такого указателя? std :: vector ...
int *p=(int * )malloc(sizeof(int)); удалить р; Когда мы выделяем память с помощью malloc, мы должны освобождать ее с помощью free, а когда мы выделяем с помощью new в C++, мы должны освобождать ее с помощью удаления. ...