Suchergebnisse für Anfrage "language-lawyer"

3 die antwort

Wenn die Initialisierung oder Zerstörung durch eine Ausnahme beendet wird, die nicht behandelt wird, sind dann vollständig aufgebaute Unterobjekte unbedingt zerstört?

Der Standard unterscheidet zwischen zwei Arten der Zerstörung, die auftreten, wenn eine Ausnahme ausgelöst wird. Betonung meiner. §15.2 / 1 Als Kontrolle geht von aWurfausdruck Für einen Handler werden Destruktoren für alle automatischen ...

2 die antwort

Unterschied zwischen undefiniertem Verhalten und fehlerhaftem Verhalten, keine Diagnosemeldung erforderlich

Der C ++ - Standard enthält eine erstaunliche Anzahl von Definitionen fürunklar1 Verhalten, das mehr oder weniger dasselbe mit subtilen Unterschieden bedeutet. lesendiese Antwort [https://stackoverflow.com/a/22177425/572743]Ich bemerkte ...

1 die antwort

Ist es zulässig, ein dynamisch zugewiesenes "const" -Objekt durch einen wiederverwendeten Nicht-"const" -Namen zu ändern?

Betrachten Sie das folgende Programm: #include <iostream> int main() { int x = 0; const int* px = new (&x) const int(0); x = 1; std::cout << *px; // 1? }EsKompiliert unter GCC 4.8 [http://coliru.stacked-crooked.com/a/d49f7eaf53e248ee](und ...

TOP-Veröffentlichungen

1 die antwort

Können wir Inhalte anwenden, die nicht ausdrücklich aus den normativen Verweisen auf den C ++ - Standard zitiert wurden?

Im C ++ 11-Standard (nächster Tiefgang ist N3337 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf]) Sektion1.2 Normative Verweisungen sagt: Die folgenden Dokumente, auf die verwiesen wird, sind für die Anwendung ...

1 die antwort

std :: hash template Teilspezialisierung

Ich habe eine Klasse mit Vorlage geschrieben: template <class T, class Allocator = ::std::allocator<T> > class my_list;Ich sollte :: std :: hash specializtion für diese Klasse schreiben. Wie kann ich das machen? Einfache ...

3 die antwort

Gibt fgets () NULL mit einem kurzen Puffer zurück, der kompatibel ist?

In Unit-Tests enthält eine Funktionfgets()stieß bei der Puffergröße auf ein unerwartetes Ergebnisn < 2. Offensichtlich ist eine solche Puffergröße töricht, aber der Test untersucht Eckfälle. Vereinfachter Code: #include <error.h> #include ...

3 die antwort

Wird ein constexpr-Array zwangsläufig verwendet, wenn es mit einem Index versehen ist?

Mit folgendem Code: struct A { static constexpr int a[3] = {1,2,3}; }; int main () { int a = A::a[0]; int b [A::a[1]]; }istA::a Notwendigodr-used [https://stackoverflow.com/questions/19630570/what-does-it-mean-to-odr-use-something] imint a = ...

1 die antwort

Hat sich der C ++ - Standard in Bezug auf die Verwendung von unbestimmten Werten und undefiniertem Verhalten in C ++ 14 geändert?

Wie in abgedecktEnthält die Initialisierung eine Umwandlung von lWert in rWert? Istint x = x; UB? [https://stackoverflow.com/questions/14935722/does-initialization-entail-lvalue-to-rvalue-conversion-is-int-x-x-ub] Der C ++ - Standard hat ein ...

4 die antwort

Ist std :: vector <T> ein benutzerdefinierter Typ?

In 17.6.4.2.1 / 1 und 17.6.4.2.1 / 2 deraktueller Normentwurf [https://isocpp.org/files/papers/N3797.pdf]Einschränkungen gelten für Spezialisierungen, in die Benutzer injizierennamespace std. Das Verhalten eines C ++ - Programms ist undefiniert, ...

3 die antwort

Verlängern * non * -const Referenzen das Leben von Provisorien?

Es war einmal die Annahme, dass ein solcher Code fehlschlagen würde: const MyClass& obj = MyClass(); obj.DoSomething();weil das MyClass-Objekt am Ende seines vollständigen Ausdrucks zerstört wird und obj als baumelnde Referenz übrig bleibt. Ich ...