smart-pointers

Ein abstrakter Datentyp, der einen Zeiger simuliert und zusätzliche Features bereitstellt, z. B. die automatische Speicherbereinigung oder die Überprüfung von Begrenzungen
6
Antworten

Wie behandelt man das Fehlschlagen der Freigabe einer Ressource, die in einem Smart Pointer enthalten ist?

Wie sollte ein Fehler bei der Ressourcenfreigabe behandelt werden, wenn der Objekt, das die Ressource darstellt, ist in einem gemeinsamen Zeiger enthalten? EDIT 1:    Um diese Frage konkreter zu formulieren: Viele C-Style-Interfaces   ei...
16.05.2010, 19:39
3
Antworten

Gibt es einen allgemeinen intelligenten Zeiger wie auto_ptr und shared_ptr, der C ++ 0x nicht benötigt?

Ich möchte einen Smart Zeiger ohne Referenzzählung, der einige der nützlichen Aspekte von auto_ptr und shared_ptr kombinieren kann. Ich denke, dass C ++ 0x unique_ptr ist letztlich was ich brauche, aber ich brauche etwas, das auf Visual...
22.09.2010, 09:17
1
Antwort

Ist es korrekt, null shared_ptr zurückzugeben?

Zum Beispiel gibt es eine Funktion, die ein Objekt findet und shared_ptr zurückgibt, wenn ein Objekt gefunden wird, und irgendwie angeben muss, dass kein Objekt gefunden wurde. %Vor% Ist es korrekt, shared_ptr implizit mit nullptr wie im o...
15.05.2016, 05:42
3
Antworten

Markierung std :: unique_ptr class member als const

Viele Beispiele für die Verwendung von std::unique_ptr zur Verwaltung von Klassenabhängigkeiten sehen wie folgt aus: %Vor% Meine Frage ist, ob das _child Mitglied als const irgendwelche unerwarteten Nebenwirkungen hat? (Abgesehen da...
07.09.2016, 13:07
1
Antwort

Was passiert, wenn der Konstruktor eines shared_ptr fehlschlägt?

Wenn ich richtig verstehe, wenn ein shared_ptr (von boost, tr1, std, was auch immer) mit einem Zeiger auf ein frisch zugewiesenes Objekt initialisiert wird, weist der Konstruktor von shared_ptr eine kleine Menge an Speicher zu, um eine Referenzz...
12.08.2012, 12:41
1
Antwort

Smartpointer und dynamic_cast

Ich entschuldige mich im Voraus, wenn das schon beantwortet wurde, als ich schaute und konnte die Antwort nicht finden. HINWEIS: Diese IS ist eine Hausaufgabe, wenn Sie sich also unwohl fühlen, verstehe ich das. Ich habe folgendes: pt...
21.04.2012, 23:16
5
Antworten

Warum sollte ich in dieser Situation einen intelligenten Zeiger verwenden?

Ich habe nie irgendeinen intelligenten Zeiger benutzt, aber ich lese immer über sie, wenn das Thema Zeiger ist. Ich verstehe, dass es Situationen gibt, in denen intelligente Zeiger viel netter sind als rohe Zeiger, weil sie in gewissem Umfang de...
04.05.2015, 13:38
3
Antworten

shared_ptr - Übergabe nach Wert vs nach Referenz

Angenommen, ich habe: %Vor% In einem Thread erstelle ich ein Event und sende es ab, um es zu versenden: %Vor% Das EventDispatcher empfängt ein EventPtr und fügt es einer Warteschlange hinzu, die in einem anderen Thread verarbeitet...
16.03.2011, 19:36
5
Antworten

Zugriff auf den Besitzer in Destruktor C ++

Angenommen, es gibt ein Objekt A, das über std::unique_ptr<B> ein Objekt B besitzt. Weiter B enthält einen (schwachen) Verweis auf einen rohen Zeiger auf A. Dann ruft der Destruktor von A den Destruktor von B auf, da er ihn besitzt....
22.06.2016, 06:22
1
Antwort

Wann wird ein Typ als abgeschlossen betrachtet?

Betrachten Sie das folgende Code-Snippet. Der Destruktor von boost :: scoped_ptr wird am Ende der Hauptfunktion aufgerufen. Der Destruktor verwendet boost :: checked_delete, um den eingekapselten Widget-Zeiger aufzuheben. %Vor% Ich habe erwa...
19.07.2014, 13:47