Als «c++11» getaggte Fragen

Verwenden Sie dieses Tag für Code, der als C ++ 11 kompiliert werden muss (ohne die in C ++ 14 oder höher eingeführten Funktionen zu verwenden).

6
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 wird std::movedieses …
111 c++  c++11 



5
std :: next_permutation Implementierungserklärung
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; …

5
Wie übergebe ich Parameter richtig?
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), …
108 c++  c++11 

3
std :: shared_ptr Thread-Sicherheit erklärt
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 …
106 c++  c++11  shared-ptr 


2
Bedeutet constexpr Inline?
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); …

8
Wie überprüfe ich, ob C ++ 11 unterstützt wird?
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
104 c++  c++11 

3
Fügt C ++ 14 C ++ neue Schlüsselwörter hinzu?
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?
103 c++  c++11  keyword  c++14 

4
Wo ist shared_ptr?
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 …

4
Standardinitialisierung von std :: array?
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 …




Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.