Suchergebnisse für Anfrage "language-lawyer"

8 die antwort

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.

4 die antwort

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 ...

8 die antwort

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 ...

TOP-Veröffentlichungen

2 die antwort

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 ...

6 die antwort

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 ...

4 die antwort

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. ...

4 die antwort

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 ...

8 die antwort

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 ...

4 die antwort

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 ...

4 die antwort

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 ...