Tag: delete-operator

In der Programmiersprache C++ der operator delete ruft den Destruktor des gegebenen argument auf und gibt Speicher von new zurück auf den Haufen.

Mithilfe von operator new und operator delete mit custom-Speicher-pool/Zuweisung

Anzahl der Antworten 3 Antworten
Arbeite ich an einem Speicher-pool/memory allocator Umsetzung und ich bin Einstellung, die Sie in einem Herrenhaus, wo nur eine spezielle "Client -" Objekt Typ kann zeichnen aus dem pool.Der client kann entweder gebaut werden, die direkt auf

Verknüpfte Liste Destruktor

Anzahl der Antworten 4 Antworten
Studiere ich C++ auf meine eigene Zeit, und schreiben Sie eine verknüpfte Liste, um zu versuchen und erhalten Sie den Dreh. Ich bin besorgt über die Art und Weise habe ich um das Objekt zu löschen. Es

Löschen und ungültige Zeiger

Anzahl der Antworten 2 Antworten
int main() { char* a=new char[20]; cin>>a; cout<<" character at 7-th position."<<a[6]; delete a+4; cout<<a[0]; return 0; } Eingang: 1234567894567 Ausgabe: character at 7-th position.6 *** glibc detected *** ./test free() invalid pointer:.... Nun habe ich 3

Versucht zu löschen, Zeiger löst Haltepunkte

Anzahl der Antworten 3 Antworten
Den Zweck des Programms, an dem ich arbeite, ist das erstellen einer Klasse zum "verbessern" der Standard-Ganzzahl-array-Daten Typ durch die Simulation eine dynamische array von Zeigern. Ich laufen in Fehler beim löschen von Zeigern und arrays von

Nicht delete [] freigeben von Speicher durch Zeiger auf Zeiger

Anzahl der Antworten 4 Antworten
Ich habe ein array von Zeigern auf andere Objekte, die als Comparable* array (innerhalb einer Vorlage für eine Klasse). Ich verstehe, dass delete löscht den Speicher verwiesen, die durch einen Zeiger, und das delete plant den

Löschen mehrerer Zeiger mit delete-operator

Anzahl der Antworten 2 Antworten
Löschen und ein array von Elementen verwenden wir delete. Ist es möglich, löschen Sie den Zeiger so, wie ich bin zu tun da unten? ClassA* object = new ClassA(); ClassA* pointer1 = object; ClassA* object2 = new

Löschen Vektor von Zeigern

Anzahl der Antworten 4 Antworten
Brauche ich zum erstellen von Zeigern von Instanzen einer Klasse sind, und das Programm nicht weiß, bei der Kompilierung, wie viele Zeiger werde ich erstellen. Für die Löschung, ich erwäge das speichern der Zeiger in einem Vektor,

Doppel Kostenlose oder Korruption nach Warteschlange::push

Anzahl der Antworten 6 Antworten
#include <queue> using namespace std; class Test{ int *myArray; public: Test(){ myArray = new int[10]; } ~Test(){ delete myArray; } }; int main(){ queue<Test> q Test t; q.push(t); } Nachdem ich diesen starte, bekomme ich eine runtime

Tut delete auf einen Zeiger auf eine Unterklasse aufrufen der Basisklasse destructor?

Anzahl der Antworten 11 Antworten
Ich habe eine class A verwendet einen heap-Speicher-Zuweisung für eines seiner Felder. Klasse A instanziiert und gespeichert, als ein Zeiger-Feld in eine andere Klasse (class B. Wenn ich fertig bin mit einem Objekt der Klasse B, ich

So löschen void-pointer?

Anzahl der Antworten 3 Antworten
Gibt es etwas falsch beim löschen eines Objekts, wie dies in C++? MyCls* c = new MyCls(); void* p = (void*)c; delete (MyCls*)p; Ich glaube das nicht. Casting einen Zeiger auf void * und dann zurück zu

So löschen Sie ein Objekt in einem Satz

Anzahl der Antworten 4 Antworten
In meinem C++ - Programm, erstelle ich Objekte in einer Funktion mit neuen. Diese Objekte sind eingefügt in eine Reihe. Wenn ich möchte, dass das entfernen von Objekten aus dem set, ich verwende einen iterator in einer

Wie der freie Speicher von dynamischen struct array

Anzahl der Antworten 6 Antworten
Als jemand, der nie behandelt Freigabe von Speicher und so weiter, bekam ich die Aufgabe zum erstellen eines dynamischen Arrays von struct und Funktionen erstellen, hinzufügen oder löschen von array-Elementen. Beim löschen habe ich den Speicher frei,

Was kann die Ursache für segmentation fault mittels delete-Befehl in C++?

Anzahl der Antworten 5 Antworten
Ich habe ein Programm geschrieben, das ordnet ein neues Objekt der Klasse T, wie diese: T* obj = new T(tid); wo das tid ist ein int Woanders in meinem code versuche ich das Objekt freigeben, das hab

Ist es sicher zu löschen, einen NULL-Zeiger?

Anzahl der Antworten 7 Antworten
Ist es sicher zu löschen, einen NULL-Zeiger? Und es ist eine gute coding-Stil? Good practice ist C++ Programme zu schreiben, ohne einen einzigen Anruf zu delete. RAII statt. Das heißt, verwenden Sie std::vector<T> v(100); statt T* p

So löschen Sie dieses 2-dimensionale array von Zeigern? Machen Sie einen Destruktor

Anzahl der Antworten 2 Antworten
malla = new Celula**[n + 2]; for(int i = 0 ; i < n + 2 ; ++i){ malla[i] = new Celula*[m + 2]; for(int j = 0 ; j < m + 2 ; ++j){ malla[i][j]

Warum gibt es keine Platzierung löschen Ausdruck in C++?

Anzahl der Antworten 5 Antworten
Warum C++ nicht die Platzierung löschen direkt entspricht die Platzierung neu, d.h. ruft den Destruktor aufruft und entsprechende Platzierung delete-operator? Beispiel: MyType *p = new(arena) MyType; ... //current technique p->~MyType(); operator delete(p, arena); //proposed technique delete(arena) p;

Löschen ein Zeiger auf const (const T*)

Anzahl der Antworten 5 Antworten
Ich habe eine basic Frage bezüglich der const-Pointer. Ich bin mir nicht erlaubt zu nennen, alle nicht-const-member-Funktionen mit einem const-Zeiger. Allerdings bin ich mir erlaubt, dies zu tun, der auf einen const-Zeiger: delete p; Dies ruft den

Wie löscht man einen Zeiger von Klassen, die Zeiger-Mitglieder?

Anzahl der Antworten 3 Antworten
Ich meine, wenn ich einige Klasse wie: class A{ int* pi; }; *A pa; wenn ich rufe delete pa wird pi gelöscht werden? Es wird sein, wenn Sie den code, es zu werden. Es wird nicht sein,

Der Aufruf von delete auf den Variablen auf dem Stapel reserviert

Anzahl der Antworten 11 Antworten
Ignorieren Programmierung Stil und design, ist es "sicher" zu nennen, delete auf eine variable auf dem Stapel reserviert? Beispiel: int nAmount; delete &nAmount; oder class sample { public: sample(); ~sample() { delete &nAmount;} int nAmount; } Warum

Ist löschen erlaubt?

Anzahl der Antworten 10 Antworten
Ist es erlaubt delete this; wenn der delete-Anweisung ist die Letzte Anweisung, die ausgeführt werden, auf diese Instanz der Klasse? Natürlich bin ich sicher, dass das Objekt, vertreten durch die this-Zeiger ist newly erstellt. Ich denke über

Warum ist mein heap beschädigt ist?

Anzahl der Antworten 6 Antworten
Ich erhalte eine Fehlermeldung - heap-Beschädigung kann nicht herausfinden, warum. Mein base : h: class Base { public : Base(char* baseName, char* cityName); virtual ~Base(); list<Vehicle*>::const_iterator GetEndList(); void PrintAllVehicles(ofstream &ResultFile) const; char* GetBaseName() const; char* GetLocation() const;

Probleme beim löschen von Vektor von Zeigern

Anzahl der Antworten 6 Antworten
Habe ich eine manager-Klasse hält ein Vektor von Zeigern auf eine virtuelle Basisklasse in eine Reihe von untergeordneten Klassen, die dort aufbewahrt werden. Im Destruktor dieser Klasse manager Klasse, ich möchte es, um den Zyklus durch alle

Heap-Beschädigung auf delete[]

Anzahl der Antworten 1 Antworten
Ich habe immer heap corruption Fehler auf delete - Anweisung. Projekt gearbeitet wird in VC++ 2008, seine Forderung (also bitte nicht scharf). Ganze Bauprozess ist die Arbeit OK, aber zur Laufzeit bekomme ich error: (prs_2013 ist

Die Unterschiede zwischen free, in C-und delete in C++?

Anzahl der Antworten 4 Antworten
Ich weiß, die Kostenlose operation in C ist zu sagen, der compiler diese bestimmten Speicherblock frei ist für den compiler zu verwenden, für die weitere Zuordnung, aber der Speicher wird nicht freigegeben. Was über das löschen in

Löschen auf bereits gelöschtes Objekt : - Verhalten?

Anzahl der Antworten 6 Antworten
Frage ich mich, was will hapen, wenn ich versuche, eine delete auf einen Zeiger, der ist schon gelöscht, oder kann nicht zugeordnet worden ? Ich habe gelesen zwei Dinge : Erstens, dass delete Betreiber tun einige checkings

C++ neu & löschen und die Zeichenfolge & Funktionen

Anzahl der Antworten 5 Antworten
Okay die Vorherige Frage wurde beantwortet, klar, aber ich fand heraus, ein weiteres problem. Was ist, wenn ich tun: char *test(int ran){ char *ret = new char[ran]; //process... return ret; } Und führen es dann aus: for(int

Was ist das äquivalent zu new/delete in C++ in C?

Anzahl der Antworten 5 Antworten
Was ist das äquivalent zu new/delete in C++ in C? Oder es ist das gleiche in C/C++? InformationsquelleAutor der Frage httpinterpret | 2010-05-15

Doppel Kostenlose oder Korruption...aber warum?

Anzahl der Antworten 6 Antworten
#include <queue> using namespace std; class Test{ int *myArray; public: Test(){ myArray = new int[10]; } ~Test(){ delete myArray; } }; int main(){ queue<Test> q Test t; q.push(t); } Nachdem ich diesen starte, bekomme ich eine runtime

Löschen array von Zeigern

Anzahl der Antworten 6 Antworten
Tut delete awo a ist dynamisch zugewiesen array von Zeigern, führen delete für jeden Zeiger im array? Ich nehme an, es führt Destruktor für arrays mit Benutzer-definierte Klassen, aber was passiert mit den Zeigern? InformationsquelleAutor der Frage

Wenn ich eine Klasse löschen, werden seine member-Variablen, die automatisch gelöscht?

Anzahl der Antworten 8 Antworten
Ich habe geforscht, und nichts, was relevant ist, so kam ich hier. Ich versuche, um Speicherverluste zu vermeiden, so Frage ich mich: Sagen, ich habe Klasse MyClass mit den ints a und bund ein int array cgefüllt

Was ist der richtige Weg, um frei von einem std::Vektor von Zeigern in C++?

Anzahl der Antworten 10 Antworten
Suchte ich StackOverflow konnte Sie aber nicht finden die Antwort auf diese Frage. Angenommen ich habe eine std::vector<Day *> vector_day - das ist ein Vektor von Zeigern auf Day Objekt. Jetzt habe ich push_back zu vector_day viele

Aufruf von delete auf Variable, die auf dem Stack zugewiesen ist

Anzahl der Antworten 11 Antworten
Ignorieren Programmierung Stil und design, ist es "sicher" zu nennen, delete auf eine variable auf dem Stapel reserviert? Beispiel: int nAmount; delete &nAmount; oder class sample { public: sample(); ~sample() { delete &nAmount;} int nAmount; } InformationsquelleAutor

Überladen neu / löschen

Anzahl der Antworten 6 Antworten
Mache ich ein kleines memory-leak-finder in mein Programm, aber meine Art der überlastung und löschen (und auch new und delete) scheint nicht, etwas zu tun. void* operator new (unsigned int size, const char* filename, int line) {

Warum sollte man neue Operatoren ersetzen und Operatoren löschen?

Anzahl der Antworten 7 Antworten
Warum sollte würde ein ersetzen der Standard-operator new und delete mit einem benutzerdefinierten new und delete Betreiber? Dies ist in Fortsetzung der Überladen von new und delete in die ungemein erhellende C++ FAQ: Operator überladen. Einen Nachtrag-Eintrag

Verhalten von malloc mit Löschen in C ++

Anzahl der Antworten 3 Antworten
int *p=(int * )malloc(sizeof(int)); delete p; Wenn wir Speicher reservieren mit malloc, dann sollten wir es freigeben mit free und wenn wir uns gerne mit neuen in C++, dann sollten wir es freigeben mit delete. Aber wenn

Warum gibt es keinen Placement-Lösch-Ausdruck in C ++?

Anzahl der Antworten 5 Antworten
Warum C++ nicht die Platzierung löschen direkt entspricht die Platzierung neu, d.h. ruft den Destruktor aufruft und entsprechende Platzierung delete-operator? Beispiel: MyType *p = new(arena) MyType; ... //current technique p->~MyType(); operator delete(p, arena); //proposed technique delete(arena) p;

C ++ Array von Zeigern: löschen oder löschen []?

Anzahl der Antworten 8 Antworten
Cosider folgenden code: class Foo { Monster* monsters[6]; Foo() { for (int i = 0; i < 6; i++) { monsters[i] = new Monster(); } } virtual ~Foo(); } Was ist der richtige Destruktor? : Foo::~Foo() {

Wie "realloc" Sie in C ++?

Anzahl der Antworten 4 Antworten
Wie kann ich realloc in C++? Es scheint, fehlt die Sprache - es ist new und delete aber nicht resize! Ich es brauchen, weil, wie mein Programm liest mehr Daten brauche ich, um den Puffer neu zuordnen,

Gibt es einen Grund, vor dem Löschen nach einem NULL-Zeiger zu suchen?

Anzahl der Antworten 10 Antworten
Sehe ich oft legacy-code-Kontrolle für NULL vor dem löschen ein Zeiger, ähnlich, if (NULL != pSomeObject) { delete pSomeObject; pSomeObject = NULL; } Gibt es irgendeinen Grund für die überprüfung auf eine NULL Zeiger vor dem löschen?

Einen Zeiger auf const löschen (T const *)

Anzahl der Antworten 5 Antworten
Ich habe eine basic Frage bezüglich der const-Pointer. Ich bin mir nicht erlaubt zu nennen, alle nicht-const-member-Funktionen mit einem const-Zeiger. Allerdings bin ich mir erlaubt, dies zu tun, der auf einen const-Zeiger: delete p; Dies ruft den

Ist es noch sicher, nullptr in C ++ 0x zu löschen?

Anzahl der Antworten 2 Antworten
In c++03 es ist ziemlich klar, dass das löschen eines null-Zeigers hat keine Wirkung. In der Tat, es ist ausdrücklich in §5.3.5/2: In der einen alternative, wenn der Wert des Operanden von delete ist der null-pointer, der

Wie sollte ich ISO C ++ Standard konforme benutzerdefinierte neue und löschende Operatoren schreiben?

Anzahl der Antworten 4 Antworten
Wie soll ich das schreiben von ISO-C++ - standard-konform benutzerdefinierte new und delete Betreiber? Dies ist in Fortsetzung der Überladen von new und delete in die ungemein erhellende C++ FAQ, Operator überladenund Ihr follow-up, Warum sollte man

Löschen eines Zeigers in C ++

Anzahl der Antworten 6 Antworten
Kontext: ich versuche, wickeln Sie meinen Kopf herum, Zeiger, wir sahen Sie vor ein paar Wochen in der Schule und beim üben heute lief ich in eine dumme? Frage, kann es super einfach für Sie, aber ich

Wie löscht [], dass es ein Array ist?

Anzahl der Antworten 15 Antworten
Okay, ich denke wir sind uns alle einig, dass das, was geschieht mit dem folgenden code ist nicht definiert, je nachdem, was übergeben wird, void deleteForMe(int* pointer) { delete pointer; } Die Zeiger werden könnte, alle möglichen

Ist es sicher, einen Nullzeiger zu löschen?

Anzahl der Antworten 7 Antworten
Ist es sicher zu löschen, einen NULL-Zeiger? Und es ist eine gute coding-Stil? InformationsquelleAutor der Frage qiuxiafei | 2010-11-16

Warum löscht nicht den Zeiger auf NULL?

Anzahl der Antworten 12 Antworten
Ich mich immer gefragt, warum die automatische Einstellung der Zeiger auf NULL nach löschen ist nicht Teil des Standards. Wenn dies bekommt aufgepasst dann viele Abstürze aufgrund eines ungültigen Zeiger würde nicht auftreten. Aber gesagt haben, dass

Wie Speicher in Try-Catch-Blöcken freigeben?

Anzahl der Antworten 9 Antworten
Ich habe eine hoffentlich einfache Frage - wie wird man freier Speicher, der zugeordnet wurde, wird im try-block, wenn die Ausnahme Auftritt? Betrachten Sie den folgenden code: try { char *heap = new char [50]; //let exception

Nun, wie funktioniert der benutzerdefinierte Deleter von std :: unique_ptr?

Anzahl der Antworten 4 Antworten
Laut N3290 std::unique_ptr akzeptiert ein deleter argument im Konstruktor. Aber ich kann nicht, dass die Arbeit mit Visual C++ 10.0 oder MinGW g++ 4.4.1 in Windows, noch mit g++ 4.6.1 in Ubuntu. Ich daher Angst, dass mein

Bedeutung von = nach Funktionsdeklaration löschen

Anzahl der Antworten 8 Antworten
class my_class { ... my_class(my_class const &) = delete; ... }; Was bedeutet = delete bedeuten in diesem Zusammenhang? Gibt es irgendwelche anderen "Modifikatoren" (andere als = 0 und = delete)? InformationsquelleAutor der Frage Pat O'Keefe |

lösche [] ein Array von Objekten

Anzahl der Antworten 5 Antworten
Habe ich zugewiesen und das array von Objekten Objects *array = new Objects[N]; Wie soll ich das löschen dieses array? Nur delete array; oder mit der Iteration über den array-Elemente? for(int i=0;i<N;i++) delete array[i]; delete; Dank UPDATE: