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.
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
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
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
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
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;
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
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,
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
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
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
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
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
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)); }
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
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
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
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
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
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)
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,
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
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
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();
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
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
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
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)
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
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
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
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
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
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?
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
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