Suchergebnisse für Anfrage "language-lawyer"
Wird ein Nullzeiger inkrementiert, der genau definiert ist?
Beispiele für undefiniertes / nicht angegebenes Verhalten bei Zeigerarithmetik gibt es viele - Zeiger müssen innerhalb desselben Arrays (oder eines nach dem Ende) oder innerhalb desselben Objekts zeigen oben usw. Ist die folgende Operation gut ...
Ist std :: abs (0u) schlecht geformt?
Gab das folgende Programm: #include <cmath> int main() { std::abs(0u) ; }gcc undclang nicht einig, ob dies schlecht geformt ist. @ Verwendgcc mitlibstdc++ Der Code wird ohne Fehler oder Warnung erstellt sehe es ...
Vermeidet dies UB
Diese Frage ist eher eine akademische, da es keinen gültigen Grund gibt, eine eigene @ zu schreibeoffsetof Makro mehr. Trotzdem habe ich hier und da dieses hausgemachte Implementierungs-Popup gesehen: #define offsetof(s, m) ((size_t) &(((s ...
Warum wäre das Verhalten von std :: memcpy für Objekte, die nicht TriviallyCopyable sind, undefiniert?
Vonhttp: //en.cppreference.com/w/cpp/string/byte/memcp [http://en.cppreference.com/w/cpp/string/byte/memcpy]: Wenn die Objekte nicht @ si TriviallyCopyable [http://en.cppreference.com/w/cpp/concept/TriviallyCopyable] (z. B. Skalare, Arrays, ...
Ist eine Klasse mit gelöschtem Kopierkonstruktor trivial kopierbar?
Ist diese Klasse: class A { public: A() = default; A(const A&) = delete; };trivial kopierbar? (Zumindest scheint clang so zu denken Lebe [http://coliru.stacked-crooked.com/a/3bf899de8625279d])) Insbesondere würde A a,b; std::memcpy(&a, &b, ...
Kann undefiniertes Verhalten, das einem Verhalten von getc () folgen würde, ändern, wenn getc () über SIGINT @ beendet wir
Unter modernen Interpretationen von "Undefined Behaviour" kann ein Compiler davon ausgehen, dass keine Kette von Ereignissen auftritt, die dazu führen würde, dass undefiniertes Verhalten "unvermeidlich" wird, und Code eliminieren, der nur in ...
Ambiguous Name Lookup mit using-Direktive
Es ist nicht zulässig, einen Namespace und eine Klasse mit demselben Namen in einen deklarativen Bereich zu setzen, d. H. namespace A {} class A{};ist schlecht geformt [http://coliru.stacked-crooked.com/a/5b837907b4d0609c] (siehe §3.3.1 / 4). ...
Kann die Deklaration # 3 im Beispiel von [basic.link] / 6 C ++ 14 nicht verstehen
[basic.link] / 6 Der Name einer im Blockbereich deklarierten Funktion und der Name einer von einem Blockbereich deklarierten Variablenextern Deklaration haben Verknüpfung. Wenn da ein ... istsichtba -Deklaration einer Entität mit einer ...
C ++ 14 Warnung: zu viele Template-Header für Variable (sollte 0 sein)
Während ich mit dem aktuellen G ++ - 5-Compiler experimentierte, schrieb ich die folgende Anweisung in eine Datei: template<T> T a; template<> int a = 1;Was in ... endet Warnung: zu viele Vorlagenüberschriften füra (sollte 0 sein) Auch ...
static_assert abhängig von nicht typisierten Template-Parametern (unterschiedliches Verhalten bei gcc und clang)
template <int answer> struct Hitchhiker { static_assert(sizeof(answer) != sizeof(answer), "Invalid answer"); }; template <> struct Hitchhiker<42> {}; Während versucht wird, die allgemeine Vorlageninstanziierung mit @ zu deaktivierstatic_assert ...