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 wird std::movedieses …
Ich habe gerade diesen alten C ++ 0x-Entwurf über Module in C ++ 0x entdeckt. Die Idee war, aus dem aktuellen .h / .cpp-System herauszukommen, indem nur .cpp-Dateien geschrieben wurden, die dann während der Kompilierung Moduldateien generierten, die dann wiederum von den anderen .cpp-Dateien verwendet wurden. Das sieht nach einer …
Beim Durchsuchen der aktuellen Implementierung neuer C ++ 11-Header durch gcc bin ich auf das Token "......" gestoßen. Sie können überprüfen, ob der folgende Code gut kompiliert werden kann [via ideone.com]. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // …
Ich war neugierig, wie std:next_permutationes implementiert wurde, also extrahierte ich die gnu libstdc++ 4.7Version und bereinigte die Bezeichner und Formatierungen, um die folgende Demo zu erstellen ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; …
Ich bin ein C ++ Anfänger, aber kein Programmieranfänger. Ich versuche C ++ (c ++ 11) zu lernen und es ist mir irgendwie das Wichtigste unklar: Parameter übergeben. Ich habe diese einfachen Beispiele betrachtet: Eine Klasse, deren Mitglieder alle primitiven Typen haben: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), …
Ich lese http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html und einige Probleme mit der Thread-Sicherheit sind mir immer noch nicht klar: Standard garantiert, dass die Referenzzählung threadsicher und plattformunabhängig ist, oder? Ähnliches Problem - Standard garantiert, dass nur ein Thread (der die letzte Referenz enthält) delete für ein freigegebenes Objekt aufruft, oder? shared_ptr garantiert keine Thread-Sicherheit …
Betrachten Sie die folgende Inline-Funktion: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } und die constexpr äquivalente Version: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); …
Gibt es eine Möglichkeit, beim Kompilieren festzustellen, ob der Compiler bestimmte Funktionen von C ++ 11 unterstützt? Zum Beispiel so etwas: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
Das C ++ - Standardkomitee scheut sich, der Sprache neue Schlüsselwörter hinzuzufügen, bei C ++ 11 war dies jedoch nicht der Fall. Einige Beispiele: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Gibt es neue Schlüsselwörter, die mit C ++ 14 eingeführt wurden?
Ich bin gerade so frustriert, nachdem ich mehrere Stunden lang versucht habe herauszufinden, wo sich shared_ptr befindet. Keines der Beispiele, die ich sehe, zeigt vollständigen Code, der die Überschriften für shared_ptr(und das Arbeiten) enthält. Einfach gesagt std, tr1und <memory>hilft überhaupt nicht! Ich habe Boosts heruntergeladen und alles, aber es wird …
Habe std::arrayich unter C ++ 11 die Garantie, dass die Syntax std::array<T, N> x;standardmäßig alle Elemente des Arrays initialisiert? BEARBEITEN : Wenn nicht, gibt es eine Syntax, die für alle Arrays (einschließlich Arrays mit der Größe Null) funktioniert, um alle Elemente auf ihren Standardwert zu initialisieren? EDIT : auf cppreference …
Ich lese immer wieder über C99 und C ++ 11 und all diese total süßen Dinge, die dem Sprachstandard hinzugefügt werden und die eines Tages nützlich sein könnten. Derzeit befinden wir uns jedoch im Land des Schreibens von C ++ in Visual Studio. Wird eines der neuen Dinge im Standard …
Welche Ausnahmeklassen sind in der Standard-C ++ - Bibliothek enthalten und wofür sollten sie verwendet werden? Ich weiß, dass es einige neue C ++ 11-Ausnahmen gibt, bin mir aber nicht sicher, was sie sind oder wo sie sind.
Kurzversion: Es ist üblich, große Objekte wie Vektoren / Arrays in vielen Programmiersprachen zurückzugeben. Ist dieser Stil jetzt in C ++ 0x akzeptabel, wenn die Klasse einen Verschiebungskonstruktor hat, oder halten C ++ - Programmierer ihn für seltsam / hässlich / abscheulich? Lange Version: Wird dies in C ++ 0x …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.