Suchergebnisse für Anfrage "language-lawyer"

2 die antwort

Wie kann ein unvollständiger Typ hier als Vorlagenparameter für Vektoren verwendet werden?

BIS das folgende Programm legal ist und so weiter: #include <vector> struct Bar; struct Foo { using BarVec = std::vector<Bar>::size_type; }; struct Bar {}; int main() { Foo f; }Wie?Bar ist ein unvollständiger Typ, sodass der Compiler nicht weiß, ...

4 die antwort

Programm mit Verkettung von using-Deklarationen kompiliert auf MSVS und clang, aber nicht auf GCC

Ist das folgende Programm gemäß dem c ++ - Standard wohlgeformt oder schlechtgeformt? namespace X { int i; } namespace Y { using X::i; } int main() { using X::i; using Y::i; } Ich erhalte mit verschiedenen Compilern ...

4 die antwort

Was war der Grund dafür, `return 0` am Ende von` main` optional zu machen?

Bei Verwendung des C99-Standards muss der Compiler das Äquivalent eines @ generierereturn 0 oderreturn EXIT_SUCCESS wenn neinRückkeh wird am Ende von @ geliefemain. Zur gleichen Zeit gab es auch eine entsprechende und identische Änderung des C ++ ...

TOP-Veröffentlichungen

6 die antwort

Bestellung von Teilspezialisierungen mit nicht abgeleitetem Kontext

Nach [temporäre.Klassenordnung] §14.5.5.2 die Auswahl einer Teilspezialisierung vont in diesem Beispiel: template< typename > struct s { typedef void v, w; }; template< typename, typename = void > struct t {}; template< typename c > struct t< c, ...

4 die antwort

Vielleicht ist mein Verständnis von [class.access] / 7 nicht korrekt, aber

Von [class.access] / 7 haben wir den folgenden Satz: Ebenso die Verwendung vonA::B Als ein base-specifier ist wohlgeformt, weilD ist abgeleitet vonA, also Prüfung von base-specifiers muss verschoben werden, bis das gesamte base-specifier-list ...

18 die antwort

Ist die Speicherung eines Zeigers identisch mit der Zuweisung?

Einführung:Diese Frage ist Teil meiner Sammlung von C- und C ++ - (und C / C ++ - allgemeinen Teilmengen) Fragen zudie Fälle, in denen Zeigerobjekte mit genau identischer byteweiser Darstellung unterschiedliche "Werte" haben dürfen, dh sich für ...

10 die antwort

Ist der Compiler berechtigt, die Heapspeicherzuordnungen zu optimieren?

Betrachten Sie den folgenden einfachen Code, der @ verwendenew (Mir ist bewusst, dass es kein @ gibdelete[], aber es bezieht sich nicht auf diese Frage): int main() { int* mem = new int[100]; return 0; }Ist der Compiler berechtigt, das @ zu ...

4 die antwort

Überschreiben eines Objekts mit einem Objekt des gleichen Typs

Ist das Folgende gut definiert? #include <iostream> #include <string.h> using namespace std; struct Const { const int i; Const (int i) : i(i) {} int get0() { return 0; } // best accessor ever! }; int main() { Const *q,*p = new Const(1); new (p) ...

6 die antwort

Warum ist die implizite Konvertierung von bool in string kein Fehler?

Ich habe es geglotzt und versucht, eine ähnliche Frage auf SO zu finden, fand aber nichts Nützliches. Also, poste meine Frage hier. Betrachten Sie dieses Programm: #include <iostream> void foo(const std::string &) {} int main() { foo(false); ...

8 die antwort

Sind Zeigervariablen nur Ganzzahlen mit einigen Operatoren oder sind sie "symbolisch"?

EDIT: Die ursprüngliche Wortwahl war verwirrend. Der Begriff "symbolisch" ist viel besser als das Original ("mystisch"). In der Diskussion über meine vorherige C ++ - Frage wurde mir gesagt, dass Zeiger @ si " ein einfacher Wertetyp ähnlich ...