Suchergebnisse für Anfrage "language-lawyer"
Ist es möglich, einen in geschweiften Klammern eingeschlossenen Initialisierer als Makroparameter zu übergeben?
Ich habe eine Funktion, die ich so aufrufe: literal<long[2]>({1, 2});Ich möchte ein Makro schreiben, das zu dieser Anweisung erweitert wird, z. MYMACRO(long[2], {1, 2})Leider ist dem Präprozessor die Klammerübereinstimmung nicht bekannt, so ...
Striktes C ++ - Aliasing, wenn kein Zeiger verwendet wird, der durch Platzierung neu zurückgegeben wurde
Kann dies möglicherweise undefiniertes Verhalten verursachen? uint8_t storage[4]; // We assume storage is properly aligned here. int32_t* intPtr = new((void*)storage) int32_t(4); // I know this is ok: int32_t value1 = *intPtr; *intPtr = 5; // ...
Ist das Konvertieren zwischen Pointer-to-T, Array-of-T und Pointer-to-Array-of-T jemals undefiniert?
Betrachten Sie den folgenden Code. #include <stdio.h> int main() { typedef int T; T a[] = { 1, 2, 3, 4, 5, 6 }; T(*pa1)[6] = (T(*)[6])a; T(*pa2)[3][2] = (T(*)[3][2])a; T(*pa3)[1][2][3] = (T(*)[1][2][3])a; T *p = a; T *p1 = *pa1; //T *p2 = *pa2; ...
Ist Visual Studio beim Drucken der Funktionsadresse fehlerhaft?
Nehmen Sie den folgenden Testfall: #include <iostream> void foo() {} int main() { std::cout << &foo << std::endl; } GCC 4.1.2, GCC 4.8 und GCC 4.9 (C ++ 03 und C ++ 11)Geben Sie die folgende Ausgabe ...
Welcher Abschnitt des C ++ - Standards erfordert, dass set :: erase Destruktoren sofort aufruft
Welcher Abschnitt des C ++ 11-Standards (Hier ist eine Kopie eines Standardentwurfs [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf]) erfordert assoziative Container wie std :: set, std :: map, std :: unordered_set und std :: ...
Verbietet C ++ standardmäßig die Speicherung von Member-Funktionen in einzelnen Klasseninstanzen?
In C ++ - Implementierungen wird Code normalerweise nicht (in irgendeiner Form) in Klasseninstanzen gespeichert. Das Codesegment befindet sich nicht im gleichen Speicherbereich wie Objekte und dergleichen. Dies bedeutet, dass Mitgliedsfunktionen ...
Was ist der Grund dafür, dass ein beitrittsfähiger std :: thread nicht automatisch beitritt?
Manchmal wäre es sinnvoll, wenn sich eine zusammenfügen läsststd::thread hatte die Fähigkeit, auszuführenthread::join() auf seinem Zerstörer. Siehe die folgenden Beispiele. Beispiel 1 (Fehler):Das Objektstd::thread wurde nach dem Wurf der ...
Erfassen einer Referenz durch Referenz in einem C ++ 11-Lambda
Bedenken Sie: #include <functional> #include <iostream> std::function<void()> make_function(int& x) { return [&]{ std::cout << x << std::endl; }; } int main() { int i = 3; auto f = make_function(i); i = 5; f(); }Wird dieses Programm garantiert ...
Muss ich wirklich einen vom Benutzer bereitgestellten Konstruktor für const-Objekte implementieren?
Ich habe den Code: class A { public: A() = default; private: int i = 1; }; int main() { const A a; return 0; }Es kompiliert gut auf g ++ (sieheideone [http://ideone.com/PryGs5]), schlägt aber auf clang ++ mit Fehler fehl: Die ...
Können Sie den Wert eines Gewerkschaftsmitglieds einem anderen zuweisen?
Betrachten Sie das folgende Code-Snippet: union { int a; float b; }; a = /* ... */; b = a; // is this UB? b = b + something;Ist die Abtretung eines Gewerkschaftsmitglieds an ein anderes gültig?