Als «c++» getaggte Fragen

111
C ++: Wie groß ist ein Objekt einer leeren Klasse?

Ich habe mich gefragt, wie groß ein Objekt einer leeren Klasse sein könnte . Es könnte sicherlich nicht 0 Bytes sein, da es möglich sein sollte, wie jedes andere Objekt darauf zu verweisen und darauf zu zeigen. Aber wie groß ist ein solches Objekt? Ich habe dieses kleine Programm...

111
Sind std :: vector-Elemente garantiert zusammenhängend?

Meine Frage ist einfach: Sind std :: vector-Elemente garantiert zusammenhängend? Kann ich den Zeiger auf das erste Element eines std :: -Vektors als C-Array verwenden? Wenn mein Gedächtnis mir gut tut, hat der C ++ - Standard keine solche Garantie gegeben. Die Anforderungen an std :: vector waren...

111
Warum können wir "std :: move" für ein "const" -Objekt verwenden?

In C ++ 11 können wir diesen Code schreiben: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 Wenn ich anrufe std::move, bedeutet dies, dass ich das Objekt verschieben möchte, dh ich werde das Objekt ändern. Das Verschieben eines constObjekts ist unvernünftig. Warum...

111
Erzwingen der Anweisungsreihenfolge in C ++

Angenommen, ich habe eine Reihe von Anweisungen, die ich in einer festen Reihenfolge ausführen möchte. Ich möchte g ++ mit Optimierungsstufe 2 verwenden, damit einige Anweisungen neu angeordnet werden können. Welche Werkzeuge hat man, um eine bestimmte Reihenfolge von Anweisungen durchzusetzen?...

110
Standard-Namespace verwenden

Es scheint unterschiedliche Ansichten zur Verwendung von 'using' in Bezug auf den Standard-Namespace zu geben. Einige sagen "benutze" using namespace std, andere sagen "nicht", sondern stellen std-Funktionen voran, die mit " std::" verwendet werden sollen, während andere sagen, benutze so etwas:...