temporary-objects

C ++ Temporäre Objekte sind unbenannte Objekte, die vom Compiler auf dem Stack erstellt werden. Sie werden während der Referenzinitialisierung und während der Auswertung von Ausdrücken verwendet, einschließlich Standardtypkonvertierungen, Argumentübergabe, Funktionsrückgaben und Auswertung des throw-Ausdrucks.
7
Antworten

Warum bewirkt der Operator "[]" in einer STL-Map von Strukturen, dass das dtor der Struktur zwei zusätzliche Male aufgerufen wird?

Ich habe einen einfachen Testfall erstellt, der ein merkwürdiges Verhalten zeigt, das mir in einer größeren Codebasis aufgefallen ist, an der ich gerade arbeite. Dieser Testfall ist unten. Ich verlasse mich auf den Operator "[]" der STL-Map, um...
25.10.2010, 19:02
2
Antworten

vectorT :: swap und temporäres Objekt

Code geht unter: %Vor% Der obige Code kann nicht kompiliert werden, Fehler: %Vor% Aber, wenn ich den Code in etwas wie das ändern, kann es kompilieren: %Vor% Warum?     
15.01.2012, 03:18
2
Antworten

Kopieren des Konstruktors wird nicht aufgerufen, wenn ein Objekt mit dem Rückgabewert einer Funktion initialisiert wird

Betrachten Sie den folgenden Code: %Vor% Die Ausgabe des obigen Codes mit g++ file.cpp ist: %Vor% Die Ausgabe des obigen Codes mit g++ -fno-elide-constructors file.cpp ist: %Vor% Ich kenne Return-Value-Optimierung. Meine Frage...
14.11.2014, 19:16
1
Antwort

Übernahme der Adresse des temporären (zusammengesetzten Literal) Parameters in C

Ich kann mir nicht vorstellen, dass dies nicht schon doppelt ist, aber ich kann die Antwort nicht leicht finden, da die komplexeren Szenarien speziell für C ++ die Diskussion zu dominieren scheinen 0 . Ist es legal, die Adresse eines temporä...
29.01.2017, 23:38
1
Antwort

Lebensdauer von temporären Objekten in SWIG Python Wrappern (?)

Bearbeitet am 12. Februar Ich habe gerade einen seltsamen Absturz mit einigen SWIG-generierten Python-Wrappern für einige C ++ - Klassen gemacht. Es scheint, dass die Kombination von SWIG und Python etwas daran interessiert ist, temporäre W...
12.02.2011, 00:45
2
Antworten

Destruktoraufruf in einem durch Kommas getrennten Ausdruck

Betrachten Sie das folgende Beispielprogramm: %Vor% Die Ausgabe, die ich mit GCC 4.9.2 erhalte, ist: %Vor% cpp.sh-Link: Ссылка Allerdings nach cppreference über den Komma-Operator:    In einer Komma-Expression E1, E2 wird der Aus...
01.06.2017, 13:52