Als «c++» getaggte Fragen

92
Was ist das Ergebnis von + = in C und C ++?

Ich habe folgenden Code: #include <stdio.h> int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } Wenn ich versuche, es mit gcc als C-Quelle zu kompilieren, wird folgende Fehlermeldung angezeigt: error: lvalue required as left operand of...

92
C ++ 11 Lambda-Implementierung und Speichermodell

Ich möchte einige Informationen darüber, wie man richtig über C ++ 11-Schließungen nachdenkt und std::function wie sie implementiert werden und wie mit Speicher umgegangen wird. Obwohl ich nicht an vorzeitige Optimierung glaube, habe ich die Angewohnheit, die Auswirkungen meiner Auswahl auf die...

92
Warum den Konstruktor explizit löschen?

Wann / warum sollte ich meinen Konstruktor explizit löschen wollen? Angenommen, der Grund ist, seine Verwendung zu verhindern, warum nicht einfach machen private? class Foo { public: Foo() = delete;

92
Was bedeutet?

Ich habe 2 Klassen: class base { virtual void foo() {}; }; class derived : public base { void foo() { base::foo(); } }; Ich habe einen Fehler gemacht und base:foo();stattdessen geschrieben base::foo();. Der Code wurde kompiliert und ausgeführt, aber fehlerhaft. Ich weiß nicht, wie ich es googeln...

92
C ++ Unterschied zwischen std :: ref (T) und T &?

Ich habe einige Fragen zu diesem Programm: #include <iostream> #include <type_traits> #include <functional> using namespace std; template <typename T> void foo ( T x ) { auto r=ref(x); cout<<boolalpha; cout<<is_same<T&,decltype(r)>::value; } int...

92
Ist ((a + (b & 255)) & 255) dasselbe wie ((a + b) & 255)?

Ich habe C ++ - Code durchsucht und so etwas gefunden: (a + (b & 255)) & 255 Das doppelte UND ärgerte mich, also dachte ich an: (a + b) & 255 ( aund bsind 32-Bit-Ganzzahlen ohne Vorzeichen) Ich schrieb schnell ein Testskript (JS), um meine Theorie zu bestätigen: for (var i = 0; i <...

91
Vorkompilierte Header mit GCC

Hat jemand Erfolg damit gehabt, vorkompilierte Header mit GCC zu arbeiten? Ich hatte kein Glück bei meinen Versuchen und ich habe nicht viele gute Beispiele für die Einrichtung gesehen. Ich habe Cygwin GCC 3.4.4 und 4.0 unter Ubuntu

91
Variablendeklarationen in Header-Dateien - statisch oder nicht?

Beim Umgestalten einiger habe #definesich in einer C ++ - Header-Datei ähnliche Deklarationen festgestellt: static const unsigned int VAL = 42; const unsigned int ANOTHER_VAL = 37; Die Frage ist, welchen Unterschied wird die statische Aufladung machen, wenn überhaupt? Beachten Sie, dass das...