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.

Bietet C ++ 11 eine bessere Möglichkeit, Strings im laufenden Betrieb zu verketten?

Anzahl der Antworten 1 Antworten
Ich habe gesehen, diese Antwort, und ich Frage mich, (ich hoffe), wenn C++11 hat eine native Methode besser zu verketten, und möglicherweise format, Streicher. Mit "besser" meine ich eigentlich wirklich eine Zeile, wie in so ziemlich allen

std :: thread - Benennen Sie Ihren Thread

Anzahl der Antworten 5 Antworten
Den neuen C++ hat diese std::thread-Typ. Funktioniert wie ein Charme. Jetzt möchte ich geben jedem thread einen Namen für einfaches Debuggen (wie java können Sie). Mit pthreads ich tun würde: pthread_setname_np(pthread_self(), "thread_name"); aber wie kann ich das

Ist std :: unique_ptr & lt; T & gt; benötigt, um die volle Definition von T zu wissen?

Anzahl der Antworten 6 Antworten
Ich habe einige code in einen header, der wie folgt aussieht: #include <memory> class Thing; class MyClass { std::unique_ptr< Thing > my_thing; }; Wenn ich diesen header in einer cpp, die nicht die Thing - Typ-definition, dann

Was ist der empfohlene Weg, Speicher in C ++ 11 auszurichten?

Anzahl der Antworten 4 Antworten
Ich arbeite auf einem einzigen Hersteller einzelne Verbraucher Ringpuffer-implementation.Ich habe zwei Anforderungen: 1) Richten Sie eine einzelne heap zugeordneten Instanz von einem ring-Puffer, um eine cache-Zeile. 2) Richten Sie ein Feld in einem ring-Puffer, um eine cache-line

Unterschied zwischen Zeiger und Referenz als Thread-Parameter

Anzahl der Antworten 3 Antworten
Dies ist das Beispiel: #include<iostream> #include<thread> using namespace std; void f1(double& ret) { ret=5.; } void f2(double* ret) { *ret=5.; } int main() { double ret=0.; thread t1(f1, ret); t1.join(); cout << "ret=" << ret << endl;

Sollte ich eine zufällige Engine verwenden, die von std :: random_device gesetzt wurde, oder jedesmal std :: random_device verwenden

Anzahl der Antworten 6 Antworten
Habe ich eine Klasse, die enthält zwei Quellen des Zufalls. std::random_device rd; std::mt19937 random_engine; Ich die Samen, die std::mt19937 mit einem Aufruf std::random_device. Wenn ich will, um generieren eine Zahl und ich Sorge mich über die Wiederholbarkeit

Soll ich in C ++ std :: function oder einen Funktionszeiger verwenden?

Anzahl der Antworten 5 Antworten
Bei der Implementierung einer callback-Funktion in C++, sollte ich trotzdem die C-Stil-Funktion Zeiger: void (*callbackFunc)(int); Oder sollte ich die Verwendung von std::function: std::function< void(int) > callbackFunc; Kommentar zu dem Problem Wenn die callback-Funktion zur Kompilierzeit bekannt ist,

Das Initialisieren des Containers von unique_ptrs aus der Initialisierungsliste schlägt mit GCC 4.7 fehl

Anzahl der Antworten 2 Antworten
Ich versuche zu initialisieren std::vector<std::unique_ptr<std::string>> in einer Weise, die entspricht, um ein Beispiel aus Bjarne Stroustrup die C++11-FAQ: using namespace std; vector<unique_ptr<string>> vs { new string{"Doug"}, new string{"Adams"} }; //fails unique_ptr<string> ps { new string{"42"} }; //OK

C ++ 11 Wenn ich shared_ptr lösche, sollte ich reset verwenden oder auf nullptr setzen?

Anzahl der Antworten 4 Antworten
Ich habe eine Frage zu C++11-best practices. Bei der Klärung eines shared_ptr, sollte ich das reset() Funktion ohne parameter, oder soll ich den shared_ptr zu nullptr? Zum Beispiel: std::shared_ptr<std::string> foo(new std::string("foo")); foo.reset(); foo = nullptr; Gibt es

C ++ 11 Lambda-Implementierung und Speichermodell

Anzahl der Antworten 1 Antworten
Möchte ich einige Informationen über, wie man richtig denken über die C++11-Verschlüsse und std::function im Hinblick darauf, wie Sie umgesetzt werden und wie Speicher behandelt wird. Obwohl ich glaube nicht an eine vorzeitige Optimierung, ich habe die

C ++ 11 Variadischer Std :: Funktionsparameter

Anzahl der Antworten 4 Antworten
Einer Funktion namens test nimmt std::function<> als parameter. template<typename R, typename ...A> void test(std::function<R(A...)> f) { //... } Aber, wenn ich den folgenden Code: void foo(int n) { /* ... */ } //... test(foo); Compiler(gcc 4.6.1) sagt

Wie kann ich mehrere Parameterpakete in einer variadischen Vorlage haben?

Anzahl der Antworten 2 Antworten
Funktion () akzeptiert einen parameter packen. Funktion zwei() akzeptiert zwei. Jedes pack ist eingeschränkt, verpackt in Arten Eine und B. Warum ist es unmöglich zu instanziieren zwei()? template <typename T> struct A {}; template <typename T> struct

Passage und Speicherung der Lambda-Funktion als Callbacks

Anzahl der Antworten 2 Antworten
Ich Frage mich, ob dies eine akzeptierte Ansatz für das schreiben Rückrufe: Speichern Rückrufe: struct EventHolder { std::function<void()> Callback; EventTypes::EventType Type; }; std::vector<Events::EventHolder> EventCallbacks; Methode definition: void On(EventType OnEventType,std::function<void()>&& Callback) { Events::EventHolder NewEvent; NewEvent.Callback=std::move(Callback); NewEvent.Type=OnEventType; EventCallbacks.push_back(std::move(NewEvent)); }

Ist Pass-by-Value ein angemessener Standard in C ++ 11?

Anzahl der Antworten 3 Antworten
In der traditionellen C++ -, als Wert übergeben werden, in Funktionen und Methoden ist zu langsam für große Objekte, und ist in der Regel verpönt. Stattdessen C++ - Programmierer neigen dazu, pass-Referenzen um, die schneller ist, aber

Travis CI mit Clang 3.4 und C ++ 11

Anzahl der Antworten 3 Antworten
Ist es möglich, dass Travis CI arbeitet mit Klang, der fähig ist C++11? (Ich will das Geräusch, nicht den GCC, ich habe schon GCC-4.8 arbeiten in Travis CI.) Es scheint, dass die version, die da ist pre-installiert

Extrahieren Sie Jahr / Monat / Tag etc. aus std :: chrono :: time_point in C ++

Anzahl der Antworten 1 Antworten
Wie kann ich extrahieren Sie die Jahr, Monat, Tag, Stunde, minute, Sekunde und Millisekunde von einem std::chrono::time_point Objekt? Sah ich nur Beispiele an, wie zum extrahieren der Gesamtbetrag von z.B. Sekunden von einem duration. Kommentar zu dem

Warum können wir `std :: move` für ein` const` Objekt verwenden?

Anzahl der Antworten 4 Antworten
In C++11, können wir folgenden code schreiben: struct Cat { Cat(){} }; const Cat cat; std::move(cat); //this is valid in C++11 wenn ich rufe std::move, es bedeutet, dass ich das Objekt verschoben werden soll, d.h. ich will

Ist es möglich, std :: string in einem conexpr zu verwenden?

Anzahl der Antworten 3 Antworten
Mit C++11, Ubuntu 14.04, GCC-Standard-toolchain. Dieser code nicht: constexpr std::string constString = "constString"; Fehler: der Typ 'const string {aka const std::basic_string}' von constexpr variable 'constString' ist nicht wörtlich gemeint... weil... 'std::basic_string' hat einen nicht-trivialen Destruktor Ist es

Template-Friend-Funktion der Template-Klasse deklarieren

Anzahl der Antworten 2 Antworten
Habe ich eine Klasse Vorlage Obj und eine Funktion Vorlage make_obj. Obj hat eine private einzigen Konstruktor definiert, der einen Verweis auf deren Vorlagen-Typ zu binden. template <typename T> class Obj { private: T& t; Obj(T& t)

C ++ 11: Ersetzen Sie alle nicht besitzenden rohen Zeiger durch std :: shared_ptr ()?

Anzahl der Antworten 3 Antworten
Mit dem Aufkommen der std::unique_ptr, die unreine std::auto_ptr endlich zur Ruhe setzen. Also für die letzten Tage, ich habe ändern mein code zur Verwendung von smart-Pointern und zu beseitigen alle delete aus meinem code. Obwohl valgrind sagt,

Was ist der Unterschied zwischen 'typedef' und 'using' in C ++ 11?

Anzahl der Antworten 4 Antworten
Ich weiß, dass in C++11 können wir nun verwenden using zu schreiben, geben Sie den alias, wie typedefs: typedef int MyInt; Ist, von dem, was ich verstehe, ist das äquivalent zu: using MyInt = int; Wird und

Zufallsgenerierung in C ++ 11, wie erzeugt man, wie funktionieren sie?

Anzahl der Antworten 2 Antworten
Kurzem stieß ich auf neue Weise zum generieren von Zufallszahlen in C++11, konnte aber nicht verdauen die Papiere, dass ich darüber gelesen (was ist das Motor, Mathematik Begriff, wie Verteilung, "wo alle ganzen zahlen, die erzeugt werden

Wie aktuelle Uhrzeit in C ++ 11 drucken?

Anzahl der Antworten 1 Antworten
Gibt es einen einfachen Weg, in C++11 drucken Sie die aktuelle wall-Zeit mit der entsprechenden Formatierung Regeln der locale Zusammenhang mit der ostream verwendet? Was ich wirklich machen will, ist so etwas wie dieses: myStream << std::chrono::system_clock::now();

Wie schreibe ich einen Funktionszeiger mit der Syntax C ++ 11 typedef?

Anzahl der Antworten 4 Antworten
Möchte ich dies Schreibe typedef void (*FunctionPtr)(); mit using. Wie soll ich das tun? Kommentar zu dem Problem sehr conf in der Tat, vor allem, weil Funktionszeiger Bezeichner in der Regel befand sich in der Mitte von

Wie kann ich dem Code :: Blocks-Compiler C ++ 11-Unterstützung hinzufügen?

Anzahl der Antworten 3 Antworten
Bin ich einige code schreiben, der benötigt, um C++11-Unterstützung für mein " Code::Blocks 12.11. Ich bin mit Standard-GNU-GCC-Compiler kam mit MingW. Gibt es eine Möglichkeit, kann ich dies tun? InformationsquelleAutor der Frage Amber Roxanna | 2013-08-11

Disambiguate Überladener Mitgliedsfunktionszeiger, der als Vorlagenparameter übergeben wird

Anzahl der Antworten 1 Antworten
Ich bin versucht zu reproduzieren, ist das Observer-Muster wo ich kann gut vorwärts Parameter zu einem bestimmten member-Funktion der Beobachter. Wenn ich Versuch zu übergeben, die Adresse des member-Funktion die mehrere überschreibt, kann er nicht ableiten, das

Übergeben eines std :: -Arrays unbekannter Größe an eine Funktion

Anzahl der Antworten 6 Antworten
In C++11, wie würde ich mich über das schreiben einer Funktion (oder Methode), das dauert ein std::array bekannt geben, aber unbekannten Größe? //made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr)

Überschreiben Sie den Bezeichner nach dem Destruktor in C ++ 11

Anzahl der Antworten 3 Antworten
Funktioniert die override-identifier nach der virtuellen Destruktor-Deklaration haben, eine Besondere Bedeutung? class Base { public: virtual ~Base() {} virtual int Method() const {} }; class Derived : public Base { public: virtual ~Derived() override {} virtual int

C ++ 11 Move-Konstruktor

Anzahl der Antworten 5 Antworten
Was wäre die richtige Art und Weise zu implementieren, die einen move-Konstruktor, unter Berücksichtigung der folgenden Klasse: class C { public: C(); C(C&& c); private: std::string string; } Natürlich, die Idee ist zu vermeiden, kopieren string oder

Prüft std :: sort, ob ein Vektor bereits sortiert ist?

Anzahl der Antworten 7 Antworten
Ich glaube, dass der C++ - standard für std::sort garantiert nicht O(n) Leistung auf einer Liste, die bereits sortiert sind. Aber trotzdem Frage ich mich, ob dein wissen alle Implementierungen der STL (GCC, MSVC, etc) machen die

Was sind Aggregate und PODs und wie / warum sind sie besonders?

Anzahl der Antworten 4 Antworten
Diese FAQ ist zu Aggregaten und PODs und deckt folgende material: Was sind Aggregate? Was sind PODs (Plain Old Data)? Wie sind diese verknüpft? Wie und warum sind Sie besonders? Was ändert sich für C++11? InformationsquelleAutor der

Erhalte den Status eines std :: future

Anzahl der Antworten 3 Antworten
Ist es möglich zu überprüfen, ob eine std::future beendet wurde, oder nicht? Soweit ich sagen kann der einzige Weg, es zu tun wäre zu nennen wait_for mit einer null-Dauer und überprüfen Sie, ob der status ready oder

Gibt es eine plattformübergreifende Threading-Bibliothek in C ++?

Anzahl der Antworten 12 Antworten
Ich bin auf der Suche nach etwas einfach zu bedienen cross-Plattform-threading-Bibliothek in C++ geschrieben. Was ist Ihre Meinung zu boost::thread oder Pthreads? Tut Pthreads laufen nur auf POSIX-kompatiblen Systemen? Was über die threading-Unterstützung in der Qt Bibliothek?

Warum C ++ Lambda ist langsamer als normale Funktion, wenn mehrmals aufgerufen?

Anzahl der Antworten 1 Antworten
Ich habe gerade versucht haben, zum vergleichen der Leistung der lambda-Ausdrücke in C++11, deshalb habe ich die test -- berechnen der Summe der Elemente in einem Vektor von double Werte. Hier ist die Umsetzung: #include <vector> #include

Clang sieht keine grundlegenden Header

Anzahl der Antworten 3 Antworten
Habe ich versucht zu kompilieren einfache "hello world" auf Fedora 20 mit Clang, und ich bekomme die folgende Ausgabe: d.cpp:1:10: fatal error: 'iostream' Datei nicht gefunden #include <iostream> Habe ich keine Idee, wie es zu lösen. Kommentar