Suchergebnisse für Anfrage "language-lawyer"
Ist es undefiniertes Verhalten, einen baumelnden Zeiger zu dereferenzieren?
Ich kann nicht finden, wo im Standard steht, dass dieses Programm undefiniert ist: #include <iostream> int main() { int *p; { int n = 45; p = &n; } std::cout << *p; } Keiner der Fälle in §3.8 Objektlebensdauer scheint hier zuzutreffen.
Ist das Neuinterpretieren eines Integrals für einen Zeigertyp und Zurück den gleichen Wert?
Gemäßhttp: //en.cppreference.com/w/cpp/language/reinterpret_cas [http://en.cppreference.com/w/cpp/language/reinterpret_cast], es ist bekannt, dassreinterpret_cast ein Zeiger auf ein Integral von ausreichender Größe und zurück ergibt den gleichen ...
Ist Top-Level flüchtig oder einschränkend für einen Funktionsprototyp?
Gibt es einen praktischen Unterschied zwischen den folgenden Prototypen? void f(const int *p); void f(const int *restrict p); void f(const int *volatile p);Der Abschnitt C11 6.7.6.3/15 (letzter Satz) besagt, dass Qualifikationsmerkmale der ...
Gegeben int ** p1 und const int ** p2 ist p1 == p2 gut geformt?
Gab die folgende Funktion: void g(int **p1, const int**p2) { if (p1 == p2) { } }clang(zurück zu Version 3.0) erzeugt diese Warnung sehe es live [http://melpon.org/wandbox/permlink/lCtOd2FagxDI9n2T]): warning: comparison of distinct pointer ...
Ist int main () {} (ohne "void") gültig und portierbar in ISO C?
Der C-Standard spezifiziert zwei Definitionsformen fürmain für eine gehostete Implementierung: int main(void) { /* ... */ }un int main(int argc, char *argv[]) { /* ... */ }Es kann auf eine Art und Weise definiert werden, die der obigen ...
Warum definiert reverse_iterator seine verschachtelten Typen doppelt?
Es scheint, dass der Iterator-Adapterreverse_iterator doppelt definiert die meisten seiner verschachtelten Typen. Insbesondere erbt es öffentlich vonstd::iterator was machtiterator_category, value_type, difference_type, pointer undreference. ...
Warum kann eine Klasse eine darin vorkommende statische verschachtelte Klasse nicht erweitern?
Diese Klasse public class OuterChild extends OuterChild.InnerParent { public static class InnerParent { } } Kompilieren fehlgeschlagen: $ javac OuterChild.java OuterChild.java:1: error: cyclic inheritance involving OuterChild public class ...
Was ist das Ergebnis von a & b?
Dies ist umständlich, aber der bitweise AND-Operator ist im C ++ - Standard wie folgt definiert (Hervorhebung von mir). Die üblichen arithmetischen Umrechnungen werden durchgeführt;das Ergebnis ist die bitweise UND-Funktion ihrer Operanden. Der ...
Doppelte schließende spitze Klammern (>>) erzeugen einen Syntaxfehler in einem bestimmten Fall.
Eclipse (Luna, 4.4.2) gibt an, dass in der folgenden Zeile ein Syntaxfehler aufgetreten ist: static_cast<Vec<int, DIM>>(a.mul(b)); Ich erinnerte mich, dass doppelte schließende spitze Klammern>> kann bei einigen Compilern zu Problemen ...
Program wird in 3 großen C ++ - Compilern unterschiedlich kompiliert. Welcher ist richtig
Als interessantes Follow-up (allerdings nicht von großer praktischer Bedeutung) zu meiner vorherigen Frage:Warum erlaubt uns C ++, den Variablennamen beim Deklarieren einer Variablen in Klammern zu ...