Suchergebnisse für Anfrage "language-lawyer"
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ß, ...
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 ...
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 ++ ...
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, ...
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 ...
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 ...
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 ...
Ü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) ...
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); ...
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 ...