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.
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
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
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
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
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
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
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
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
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() {
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,
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++)
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++ )
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
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
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
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
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
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 =
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
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
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
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
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
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
2
Antworten
Wie kann ich die neuesten C++ 11-features in die Klappern? Welche (sub -) features unterstützt? InformationsquelleAutor der Frage | 2012-05-02
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 %=
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
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
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)
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; }
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
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
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
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
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";