Tag: c++11

C++11 ist eine version der Sprache C++ standard 2011 genehmigt. Es hat viele änderungen und Ergänzungen der Kern-Sprache, sowie verbessert und erweitert C++standard-Bibliothek.

Wie verwende ich einen Lambda-Ausdruck als Template-Parameter?

Anzahl der Antworten 4 Antworten
Wie zu verwenden lambda-Ausdruck als parameter template angegeben? E. g. als Vergleich Klasse initialisieren std::set. Folgende Lösung sollte funktionieren, da der lambda-Ausdruck erstellt lediglich eine anonyme Struktur, die angemessen sein sollen als template-parameter. Jedoch, eine Menge von

In C ++ 11, können rohe String-Literale mehrere Zeilen haben?

Anzahl der Antworten 1 Antworten
Ist diese Rechtslage unter C++11? string s = R"(This is the first line And this is the second line)"; ... ist äquivalent zu: string s = "This is the first line\nAnd this is the second line"; InformationsquelleAutor

std :: map aufsetzen, ohne Wert zu kopieren

Anzahl der Antworten 2 Antworten
C++11 std::map<K,V> Typ hat eine emplace Funktion, wie viele andere Behälter. std::map<int,std::string> m; std::string val {"hello"}; m.emplace(1, val); Dieser code funktioniert wie beworben, emplacing die std::pair<K,V> direkt, es entsteht aber eine Kopie key und val statt. Ist

Nebenläufigkeit: Atomare und flüchtige in C ++ 11 Speichermodell

Anzahl der Antworten 4 Antworten
Eine Globale variable gemeinsam genutzt 2 parallel laufende threads auf 2 Kernen. Die threads schreibt und Lesen von Variablen. Für den atomic-variable kann einen thread Lesen, eine veraltete Wert? Jeder Kern kann einen Wert der freigegebenen variable

Wie benutze ich std :: stoul und std :: stoull in Android?

Anzahl der Antworten 2 Antworten
C++11 hat zwei neue string-Konvertierung-Funktionen in unsigned long und long long: std::stoul() und std::stoll(). Die aktuelle Android-NDK r9 stellt Clang 3.3 compiler sagt, ist das C++11 feature-complete. Es gibt Prototypen für diese Funktionen tief in NDK, allerdings

Elementinitialisierung bei Verwendung des delegierten Konstruktors

Anzahl der Antworten 1 Antworten
Habe ich den Versuch gestartet, aus der C++11 standard, und ich fand diese Frage, die beschreibt, wie rufen Sie Ihren ctor von einem anderen ctor in der gleichen Klasse zu vermeiden, dass die init-Methode oder dergleichen. Jetzt

If-Anweisung vs If-else-Anweisung, die schneller ist?

Anzahl der Antworten 6 Antworten
Diskutierte ich mit einem Freund den anderen Tag über diese beiden snippets. Was ist schneller und warum ? value = 5; if (condition) { value = 6; } und: if (condition) { value = 6; } else

Ist das C ++ 11 Regex Fehler mich oder der Compiler?

Anzahl der Antworten 3 Antworten
OK, das ist nicht die original-Software hatte ich dieses problem, aber ich dupliziert es in ein viel kleineres. Sehr einfaches problem. main.cpp: #include <iostream> #include <regex> using namespace std; int main() { regex r1("S"); printf("S works.\n"); regex

Rückgabe von unique_ptr aus Funktionen

Anzahl der Antworten 5 Antworten
unique_ptr<T> nicht zulässt, kopieren Sie den Bau, sondern es unterstützt move-Semantik. Doch, kann ich zurückgeben unique_ptr<T> aus einer Funktion und weisen Sie den zurückgegebenen Wert einer Variablen. #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() {

Verständnis von C ++ 11 Speicherzäunen

Anzahl der Antworten 2 Antworten
Ich versuche zu verstehen, memory Zäune in c++11, ich weiß, es gibt bessere Möglichkeiten, dies zu tun, Atomare Variablen und so weiter, aber wunderte, wenn diese Nutzung war zu korrigieren. Ich merke, dass dieses Programm nichts nützliches,

Verwenden Sie das Schlüsselwort auto in C ++ - STL

Anzahl der Antworten 5 Antworten
Habe ich gesehen, code, Vektor, vector<int>s; s.push_back(11); s.push_back(22); s.push_back(33); s.push_back(55); for (vector<int>::iterator it = s.begin(); it!=s.end(); it++) { cout << *it << endl; } Ist es dasselbe wie for (auto it = s.begin(); it != s.end(); it++)

Was sind Unterschiede zwischen Std, Tr1 und Boost (als Namespaces und / oder Bibliotheken)?

Anzahl der Antworten 4 Antworten
Anfänglich dachte ich, Sie sind alle das gleiche, aber es stellte sich heraus, falsch zu sein. So kann jemand kurz erläutern, was die Unterschiede zwischen diesen drei? Zum Beispiel: std::bind ( neueste, nächste generation von C++ )

Xcode 4.3 und C ++ 11 enthalten Pfade

Anzahl der Antworten 2 Antworten
Ich installiert Xcode 4.3 und testen wollen C++11 Programm: #include <type_traits> int main() { } Jedoch nicht die type_traits header: ~ $ c++ -o test main.cpp main.cpp:1:10: fatal error: 'type_traits' file not found #include <type_traits> ^ 1

Gnu C ++ Makro __cplusplus Standard konform?

Anzahl der Antworten 3 Antworten
Den Gnu C++ - compiler scheint zu definieren __cplusplus zu 1 #include <iostream> int main() { std::cout << __cplusplus << std::endl; } Diese Drucke 1 mit gcc im c++ - standard-Modus, als auch im C++0x-Modus, mit gcc

C ++ Module - warum wurden sie aus C ++ 0x entfernt? Werden sie später zurück sein?

Anzahl der Antworten 4 Antworten
Ich habe gerade entdeckt dieses alte C++0x draft über Module in C++0x. War die Idee, um aus der aktuellen .h/.cpp system durch das schreiben nur .cpp-Dateien, die generiert dann Modul-Dateien während der Kompilierung, die dann wiederum eingesetzt

Gibt es in C ++ 11 gleichzeitig Container?

Anzahl der Antworten 5 Antworten
Insbesondere bin ich auf der Suche für eine blockierende Warteschlange. Gibt es so etwas in C++11? Wenn nicht, was sind meine anderen Optionen? Ich wirklich nicht wollen, zu gehen, um die thread-Ebene selbst nicht mehr. Viel zu

C ++ 11 volle Unterstützung auf Eclipse

Anzahl der Antworten 2 Antworten
Ich versuche einen Weg zu finden, um satt zu werden C++11-Unterstützung in Eclipse. In Eclipse Juno hatte ich eine Menge neue features mit __GXX_EXPERIMENTAL_CXX0X__ aber ich finde nicht die Unterstützung für std::threadsstd::mutex usw. Wie kann ich die

C ++ Lambda-Ausdruck in std :: find_if?

Anzahl der Antworten 2 Antworten
Habe ich eine std::map enthält eine Klasse und diese Klasse hat eine id. Ich habe eine id, die ich versuche zu finden, im set typedef std::set<LWItem> ItemSet; ItemSet selectedItems; LWItemID i = someID; ItemSet::iterator isi; isi =

Wann wird Move Constructor aufgerufen?

Anzahl der Antworten 2 Antworten
Ich bin verwirrt darüber, Wann ein move-Konstruktor wird aufgerufen, gegen einen copy-Konstruktor. Ich habe gelesen, die folgenden Quellen: Move-Konstruktor ist nicht zu bekommen, nennt man in C++0x Move-Semantik und rvalue-Referenzen in C++11 msdn Alle diese Quellen sind

Was passiert, wenn Sie einen ungültigen static_cast-Wert für die enum-Klasse eingeben?

Anzahl der Antworten 1 Antworten
Betrachten Sie dieses C++11 code: enum class Color : char { red = 0x1, yellow = 0x2 } //... char *data = ReadFile(); Color color = static_cast<Color>(data[0]); Nehme an, dass data[0] ist tatsächlich zu 100. Was ist

Variadische Vorlagenvorlagen und perfekte Weiterleitung

Anzahl der Antworten 3 Antworten
Diese Frage auf die Objekt-generator Muster hat mich zum nachdenken über Möglichkeiten zur Automatisierung. Im wesentlichen möchte ich automatisieren der Erstellung von Funktionen wie std::make_pairstd::bind1st und std::mem_fun so dass anstatt zu schreiben, eine andere Funktion für jede

Wie überprüft man, ob ein std :: -Thread noch läuft?

Anzahl der Antworten 5 Antworten
Wie kann ich prüfen, ob eine std::thread läuft immer noch (in eine Plattform-unabhängige Art und Weise)? Es fehlt ein timed_join() Methode und joinable() ist nicht gedacht. Dachte ich, der sperren eines mutex mit einem std::lock_guard im thread

C ++ 11 Lambda als Membervariable?

Anzahl der Antworten 5 Antworten
Kann lambda als Klassenkonstanten definiert werden? Beispielsweise wäre es möglich den code umzuschreiben Probe unter Verwendung eines lambda-anstelle der Funktion Objekt? struct Foo { std::function<void()> bar; }; Den Grund ich Frage ist, weil Sie die folgenden lambda

Need Iterator bei der Verwendung von entfernungsbasierten for-Schleifen

Anzahl der Antworten 6 Antworten
Derzeit kann ich nur tun reichten basiert Schleifen mit dabei: for (auto& value : values) Aber manchmal brauche ich einen iterator, um den Wert, anstelle eines Verweises (warum auch immer). Gibt es eine Methode, ohne zu gehen

Wie kann ich C ++ 11-Funktionen in Clang verwenden?

Anzahl der Antworten 2 Antworten
Wie kann ich die neuesten C++ 11-features in die Klappern? Welche (sub -) features unterstützt? InformationsquelleAutor der Frage | 2012-05-02

Was ist der Grund für Klammern in C ++ 11 Raw String Literalen R "(...)"?

Anzahl der Antworten 1 Antworten
Es ist eine sehr praktische Funktion eingeführt, die in C++11 genannte raw-string-Literale, strings ohne escape-Zeichen. Und statt zu schreiben: regex mask("\\t[0-9]+\\.[0-9]+\\t\\\\SUB"); Können Sie einfach schreiben: regex mask(R"(\t[0-9]+\.[0-9]+\t\\SUB)"); Ganz mehr lesbar. Beachten Sie jedoch, zusätzliche Klammern um den

Verzögerter Start eines Threads in C ++ 11

Anzahl der Antworten 4 Antworten
Ich bin immer in C++11 threads und habe ein problem. Möchte ich erklären, eine thread-variable als Globale variable und starten Sie es später. Aber alle Beispiele, die ich gesehen habe scheinen zu starten, den thread sofort beispielsweise

C ++ Vektor von Arrays

Anzahl der Antworten 2 Antworten
Warum funktioniert das: std::pair<int, int> p = {1,2}; std::vector<std::pair<int, int>> vp = { {1,2}, {3,4} }; Aber nicht? std::array<int, 2> a = {1,2}; //still ok std::vector<std::array<int, 2>> va = { {1,2}, {3,4} }; Verwendung von g++ 4.5.1

Was bedeutet jede memory_order?

Anzahl der Antworten 2 Antworten
Lese ich ein Kapitel und ich mochte es nicht viel. Ich bin immer noch unklar, was die Unterschiede zwischen den einzelnen Speicher-Reihenfolge. Dies ist meine aktuelle Spekulationen, die ich Verstand nach dem Lesen der sehr viel einfacher

überschreiben Sie nicht-virtuelle Funktionen

Anzahl der Antworten 3 Antworten
C++11 FDIS es sagt Wenn eine virtuelle Funktion ist gekennzeichnet mit dem virt-Bezeichner überschreiben und nicht überschreiben, eine member-Funktion von eine Basisklasse, das Programm ist schlecht ausgebildet. [ Beispiel: struct B { virtual void f(int); }; struct

C ++ 11 Lambda-Funktion - wie Parameter übergeben werden

Anzahl der Antworten 3 Antworten
Benutzte ich die lambda-Funktion übergeben es an std::condition_variable wait () - Funktion, aber das ist nicht der Fall. Ich benutze lambda-Funktionen, die nicht erhalten keine Parameter, und alles ist für mich absolut klar. Aber ich absolut nicht

Warum variadic Argumente jetzt verwenden, wenn Initialisierungslisten verfügbar sind?

Anzahl der Antworten 2 Antworten
Ich hab mich schon gewundert, was sind die Vorteile von variadischen Argumente über Initialisierer-Listen. Beide bieten die gleichen Fähigkeiten - pass unbestimmte Anzahl von Argumenten an eine Funktion. Was ich persönlich denke ist Initialisierer-Listen sind ein wenig

Wie man einen Modulo (%) Operator in C / C ++ / Obj-C, der negative Zahlen behandelt, codiert

Anzahl der Antworten 15 Antworten
Einer der mein Haustier hasst von C abgeleiteten Sprachen (als Mathematiker) ist, dass (-1) % 8 //comes out as -1, and not 7 fmodf(-1,8) //fails similarly Was ist die beste Lösung? C++ bietet die Möglichkeit templates und

Finden Sie die Position des Elements in C ++ 11 range-based for loop?

Anzahl der Antworten 8 Antworten
Davon ausgehen, ich habe den folgenden code ein: vector<int> list; for(auto& elem:list) { int i = elem; } Finde ich die position der elem im Vektor ohne separate iterator? InformationsquelleAutor der Frage Fred Finkle | 2012-06-09

Wie man mit noexcept in Visual Studio umgeht

Anzahl der Antworten 10 Antworten
Ich versuche, erstellen Sie eine benutzerdefinierte Ausnahme, die sich von std::exception und überschreibt what(). Zuerst, ich schrieb es so: class UserException : public std::exception { private: const std::string message; public: UserException(const std::string &message) : message(message) {} virtual

Führt C ++ 11, 14, 17 oder 20 eine Standardkonstante für Pi ein?

Anzahl der Antworten 6 Antworten
Es ist ein ziemlich dummes problem mit der Zahl pi in C und C++. Soweit ich weiß M_PI definiert in math.h ist nicht erforderlich, von jedem standard. Neuen C++ - standards eingeführt, die eine viel komplizierte Mathematik

Pretty-Print C ++ STL-Container

Anzahl der Antworten 6 Antworten
Bitte beachten Sie die updates am Ende dieses Beitrags. Update: ich habe eine öffentliches Projekt auf GitHub für diese Bibliothek! Ich würde gerne eine einzelne Vorlage, die einmal und für alle kümmert pretty-Print alle STL Container über

Wie würde man std :: forward für alle Argumente in einer variadischen Funktion aufrufen?

Anzahl der Antworten 1 Antworten
Ich war gerade beim schreiben einer generischen factory-Objekt und verwenden die boost preprocessor meta-Bibliothek, um ein variadic template (mit 2010 und es keine Unterstützung). Meine Funktion verwendet rval Referenzen und std::forward zu tun perfect forwarding und habe

Wie aktualisiert man GCC in MinGW unter Windows?

Anzahl der Antworten 6 Antworten
Ich bin verwendet, um manuell installieren Sie den GCC aus dem Quellcode, bevor Sie auf Ubuntu und es war ein schmerzhafter Prozess. Damit ich wirklich nicht wollen, zu tun, wiederholen Sie diesen Vorgang. Derzeit, ich habe MinGW

Wie ersetze Bewegungssemantik, wenn ein Vektor wächst?

Anzahl der Antworten 3 Antworten
Ich habe eine std::vector von Objekten einer bestimmten Klasse A. Die Klasse ist nicht-trivial und die copy-Konstruktoren und bewegen Konstruktoren definiert. std::vector<A> myvec; Wenn ich tanken den Vektor mit A Objekte (mit z.B. myvec.push_back(a)), der Vektor wird

Gibt es einen Ninja-Trick, um eine Variable nach ihrer Deklaration konstant zu machen?

Anzahl der Antworten 7 Antworten
Ich weiß, die Antwort wird zu 99,99% Nein, aber ich dachte, es war einen Versuch Wert, man weiß ja nie. void SomeFunction(int a) { //Here some processing happens on a, for example: a *= 50; a %=

Wie man effizient std :: atomic verwendet

Anzahl der Antworten 3 Antworten
std::atomic neues feature von c++11, aber ich kann Sie nicht finden viel Anleitung, wie man es richtig zu verwenden. So sind folgende Praxis üblich und effizient? Einer Praxis, die ich verwendet ist, wir haben einen buffer, und

Legalität der COW std :: string Implementierung in C ++ 11

Anzahl der Antworten 6 Antworten
Es war mein Verständnis, dass die copy-on-write ist nicht ein gangbarer Weg zur Umsetzung eines konformen std::string in C++11, aber wenn es kam in der Diskussion vor kurzem fand ich mich nicht direkt unterstützt diese Aussage. Bin

Der einfachste und sauberste c ++ 11 ScopeGuard

Anzahl der Antworten 10 Antworten
Ich bin versucht zu schreiben, eine einfache ScopeGuard basierend auf Alexandrescu Konzepte aber mit c++11-Redewendungen. namespace RAII { template< typename Lambda > class ScopeGuard { mutable bool committed; Lambda rollbackLambda; public: ScopeGuard( const Lambda& _l) : committed(false)

Wie spezialisiere ich std :: hash & lt; Key & gt; :: operator () für einen benutzerdefinierten Typ in ungeordneten Containern?

Anzahl der Antworten 3 Antworten
Unterstützt user-defined key types in std::unordered_set<Key> und std::unordered_map<Key, Value> man hat operator==(Key, Key) - und ein hash-Funktor: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; }

Bewegen Sie sich mit vector :: push_back

Anzahl der Antworten 3 Antworten
Denke, ich habe den folgenden code: #include <vector> struct A { int a; int x; }; int main() { using namespace std; A a1; A a2; vector<A> va; va.push_back(a1); va.push_back(move(a2)); } Ich bin mir bewusst, dass die

std :: auto_ptr zu std :: unique_ptr

Anzahl der Antworten 4 Antworten
Mit dem neuen standard zu kommen (und Teile, die bereits in einigen Compilern), die neue Art std::unique_ptr soll ein Ersatz für std::auto_ptr. Ihre Verwendung genau überlappen (so kann ich eine Globale suchen/ersetzen auf mein code (nicht, dass

std :: thread pass by reference ruft Kopierkonstruktor auf

Anzahl der Antworten 2 Antworten
Gut, ich habe ein Problem mit der übergabe von Daten an einen thread mit std::thread. Ich dachte, ich Verstand die Allgemeine Semantik von copy-Konstruktoren, etc. aber es scheint, dass ich nicht ganz begreifen das problem. Ich habe

So implementieren Sie Multithread-sicheres Singleton in C ++ 11 ohne Verwendung von & lt; mutex & gt;

Anzahl der Antworten 5 Antworten
Nun, dass C++11 multithreading ich Frage mich, was ist der richtige Weg für die Implementierung von lazy initialisiert singleton-ohne Verwendung von Mutexe(für perf Gründen). Ich kam mit dieser, aber tbh ich bin nicht wirklich gut im schreiben

Vermeidung von if-Anweisungen innerhalb einer for-Schleife?

Anzahl der Antworten 3 Antworten
Habe ich eine Klasse namens Writer hat eine Funktion writeVector etwa so: void Drawer::writeVector(vector<T> vec, bool index=true) { for (unsigned int i = 0; i < vec.size(); i++) { if (index) { cout << i << "\t";