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.
2
Antworten
Was ich versuche zu tun ist, um #define ein makro: #define a(2) und später verwenden Sie es in einem string-literal: string = "a";. Möchte ich, dass die Zeichenfolge interpretiert, nicht als string, sondern um den Wert der
2
Antworten
Ich brauche, so etwas zu tun, mehr als oft: AsyncOperation * pAsyncOperation = new AsyncOperation(); auto bindOperation = std::bind(&AsyncOperation::operator(), std::ref(*pAsyncOperation)); std::thread thread(bindOperation ); thread.join(); mit AsyncOperation jede benutzerdefinierte Klasse die operator() (auch bekannt als Funktor oder eine
1
Antworten
Der folgende code kompiliert werden, mit clang 3.0/libc++: #include <memory> class Foo { public: Foo() : mem_(new int(10)) { } std::unique_ptr<int> mem_; }; int main() { auto foo = std::make_shared<Foo>(); return 0; } Aber das man nicht
1
Antworten
Wissen Sie, wir wickeln kann, oder speichern Sie eine lambda-Funktion zu einem std::function: #include <iostream> #include <functional> int main() { std::function<float (float, float)> add = (float a, float b) // ^^^^^^^^^^^^^^^^^^^^ { return a + b; };
1
Antworten
Dies ist keine doppelte Frage, da die Lösungen vorgestellt werden sind funktioniert nicht auf meinem compiler. Ich bin versucht zu kompilieren und führen Sie das folgende Beispiel von dieser Frage. #include <thread> #include <iostream> int main(int, char
2
Antworten
Ich habe auf Unity schon eine ganze Weile und kam zurück, um einige C++ unter Verwendung von Visual Studio 2015. Ich kam in dieser Klasse definition class A { public: A(); virtual ~A(); A(const A&) = delete;
1
Antworten
Lese ich http://olk.github.io/libs/fiber/doc/html/ Es scheint mir, dass mit Boost.Faser C++ näher kommen, Erlang Fähigkeit haben, um Tausende von "Verfahren", auch bekannt als "grüne Prozesse[threads]" http://en.wikipedia.org/wiki/Green_threads. Meine Frage ist, gibt Auftrieb.Faser bereit für die Produktion, gibt es jetzt
3
Antworten
Ist die folgende singleton-Implementierung data-race free? static std::atomic<Tp *> m_instance; ... static Tp & instance() { if (!m_instance.load(std::memory_order_relaxed)) { std::lock_guard<std::mutex> lock(m_mutex); if (!m_instance.load(std::memory_order_acquire)) { Tp * i = new Tp; m_instance.store(i, std::memory_order_release); } } return * m_instance.load(std::memory_order_relaxed);
5
Antworten
Ich habe die überprüfung der version der C++11 standard. Insbesondere den Abschnitt über lambdas, und ich bin verwirrt, als die Argumentation für die nicht-Einführung der polymorphe Lambda-Ausdrücke. Beispielsweise unter den 100001 Möglichkeiten der polymorphe Lambda-Ausdrücke verwendet werden
5
Antworten
Ich über eine seltsame Konzept mit dem Namen "member-Initialisierung". Hier sagt: C++11 Hinzugefügt member-Initialisierungen, Ausdrücke angewandt werden, um Mitglieder die von der Klasse scope, wenn ein Konstruktor nicht initialisiert werden das Element selbst. Was ist seine definition?
6
Antworten
Was ist der Zweck dieser neuen Daten-Typen? Ich normalerweise verwenden Sie einfach einen "int" oder "long", aber warum es diese gibt? Was für eine neue Funktion oder Zweck bringen die? Sie haben schon seit geraumer Zeit schon
4
Antworten
Kann das getan werden? enum A { enum B { SOMETHING1, SOMETHING2 }; enum C { SOMETHING3, SOMETHING4 }; }; Wenn nicht gibt es eine alternative Lösung? Den Zweck dieser Frage: Wollen/müssen in der Lage sein, so
3
Antworten
Heutzutage mit C++11, Was ist empfohlen, um zu verwenden, Zero oder NULL? Die erste von der zweiten wenn? int * p = getPointer(); if( 0 == p ){ //something } if( NULL == p ){ //something }
5
Antworten
Wie würde ich fangen eine member-variable durch den Wert bei der Verwendung von C++11 lambda-Ausdrücke? Mithilfe der [my_member] syntax scheint nicht zu funktionieren, und der impliziten capture verwendet die this Zeiger. Was wird brauchen, ist ein Weg,
4
Antworten
Seit isnan kann entweder ein makro (in C++98) oder eine Funktion im Namensraum std (in C++11), ist eine offensichtliche (und möglicherweise naive) Möglichkeit, den code zu schreiben, der funktioniert in beiden Fällen wird illustriert durch dieses einfache
2
Antworten
array< atomic_size_t, 10 > A; Weder atomic_init(A,{0}) noch A = {ATOMIC_VAR_INIT(0)} zu funktionieren scheint, die eine unverständliche Fehlermeldung. Wie würden Sie initialisieren ein array von atomics 0EN? Sogar for-Schleifen die Aktualisierung eines Elements des Arrays bei jedem
4
Antworten
Was ist ein once_flagsoll initialisiert werden? Ich habe versucht false und 0, und beide gegeben haben, ähnliche Fehler wie unten (unten ist 0): no viable conversion from 'int' to 'std::once_flag' Hier ist wie ich bin versucht, es
2
Antworten
Wie kann ich einen std::function in eine Funktion, die erwartet, dass ein C-Stil-callback? Wenn dies nicht möglich ist, was ist die nächste beste Sache? Beispiel: //--- some C code I can not change --- typedef void(*fun)(int); void
3
Antworten
Ich habe eine harte Zeit zu finden, warum compiler sagt mir das: main.cpp:51:17: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type static std::unique_ptr<Pizza> createPizza(PizzaType t_pizza) und so: main.cpp:69:5: error: ‘unique_ptr’ is not a member
4
Antworten
Ich bin derzeit mit OpenCV3.0 mit der Hoffnung, ich werde in der Lage sein, um ein Programm zu erstellen, der tut 3 Dinge. Zunächst findet Gesichter in live-video-Feeds. Zweitens, extrahiert die Standorte der Gesichts-Orientierungspunkte über ASM oder
2
Antworten
Ich bin auf der Suche nach sowas: template< typename T> void func(T t) { } template< typename... Parms> void anyFunc( Parms... p) { func<Parms>(p)... ; //error func(p)... ; //error } Wenn der parameter pack expansion erfolgt innerhalb
2
Antworten
Habe ich etwas code von mir geschrieben für die MS VC++10. Ich benutze C++11 und insbesondere Ausdrücke wie std::function<int (int)> f =...; auto it = v.begin(); for_each(it1, it2,[&](int& i) { ++i;}); Jetzt versuche ich aus MacOS und
3
Antworten
Ich bin mit visual studio 2012. Ich habe ein Modul, wo ich gelesen haben, eine riesige Menge von Dateien von der Festplatte nach der Durchquerung Ihre entsprechenden Pfade über eine xml. Für diese mache ich std::vector<std::thread> m_ThreadList;
3
Antworten
In diesen Folien über C++11/14 standard, auf Folie 15 der Autor schreibt, dass "viele klassische Codierung Regeln [sind] nicht mehr anwendbar," in C++11. Er schlägt vor, eine Liste von drei Beispielen, und ich Stimme zu, die Regel
3
Antworten
Bin ich beim Lesen Überblick über die Neue C++ (C++11/14) (nur PDF), mit Folie 288 es gibt eine Implementierung von std::forward: template<typename T> //For lvalues (T is T&), T&& std::forward(T&& param) //take/return lvalue refs. { //For rvalues
2
Antworten
Dieser code funktioniert: #include <iostream> #include <queue> #include <vector> #include <functional> using namespace std; int main(){ priority_queue<int,vector<int>,greater<int> > pq; pq.push(1); cout<<pq.top()<<endl; } Aber dieser code nicht kompilieren: #include <iostream> #include <queue> #include <vector> #include <functional> using namespace
2
Antworten
Bin ich mit dem MinGW-w64 mit 4.8.1 (mit -std=c++11) und der Versuch zu nennen, einen Konstruktor meiner Klasse in einen anderen Konstruktor der gleichen Klasse. Leider habe ich nicht kompilieren, den folgenden code ein. A::A(const char *pc)
2
Antworten
Betrachten Sie das folgende Programm struct slot { int item; bool operator<(const int& right) const { return item < right; } slot(int item) : item(item) {} }; int main() { std::vector<slot> rails; std::lower_bound(cbegin(rails), cend(rails), 5); std::upper_bound(cbegin(rails), cend(rails),
3
Antworten
Ich meine, warum tut std::make_tuple vorhanden??? Ich weiß, dass es Situationen gibt, wo die Funktion reduziert die Menge der Zeichen, die Sie eingeben müssen, weil Sie vermeiden können template-Parameter. Aber ist das der einzige Grund? Was macht
3
Antworten
Zur Zeit arbeite ich an einem Projekt für eine Klasse, in der habe ich zur Umsetzung cuckoo-hashing in C++. Das problem ist, dass C++ und ich waren nie Freunde und ich denke, dass wir es nie werden...
6
Antworten
Angenommen, ich möchte erstellen Sie eine compile-Zeit-heterogene container einzigartige Typen aus eine Folge von nicht eindeutigen Typen. Um dies zu tun, muss ich zum iterieren über den Typ der Quelle (irgendeine Art von tuple) und überprüfen Sie,
4
Antworten
Arbeite ich auf high-performance-code in C++ und habe mit beiden CUDA und OpenCL und mehr vor kurzem C++AMP, den ich sehr mag. Ich bin jedoch ein wenig besorgt, dass es nicht weiterentwickelt wird und erweitert und werden
1
Antworten
Ich würde gerne verschieben Sie den unique_ptr ' s werden in einer unsortierten Vektor in ein Vektor, enthält die sortierten Vektor von Zeigern. Sicherlich verschieben eines unique_ptr nicht automatisch löschen das element in der ersten Vektor? Wie
1
Antworten
In C++ können Sie erklären, Lambda-Ausdrücke zum Beispiel so: int x = 5; auto a = [=]() mutable { ++x; std::cout << x << '\n'; }; auto b = [&]() { ++x; std::cout << x << '\n';
5
Antworten
Ganze Zeit, ich finde mich etwas zu tun wie dieser: Animal *animal = ... if (Cat *cat = dynamic_cast<Cat *>(animal)) { ... } else if (Dog *dog = dynamic_cast<Dog *>(animal)) { ... } else { assert(false); }
4
Antworten
Ich habe die Möglichkeiten der Bewegen Konstruktoren in C++, und ich Frage mich, was sind einige Möglichkeiten der Einnahme von Vorteil, diese Funktion an einem Beispiel, wie unten. Betrachten Sie diesen code: template<unsigned int N> class Foo
2
Antworten
Wenn ich verleihen ein regex-Objekt mit einem bestimmten Gebietsschema, wie wirkt er sich auf das übereinstimmende Verhalten? Hat es Auswirkungen auf die Sortierung, oder etwas anderes? Ich kann nicht scheinen, eine Erklärung zu finden überall. Siehe auch
3
Antworten
Ich versuche nur, meine Hände auf g++ 4.6 und C++11 Funktionen. Jedes mal, wenn ich kompilieren eine einfache threading-code mit -std=c++0x Flagge, entweder es stürzt mit einem segmentation fault oder es nur wirft einige seltsame Ausnahme. Ich
1
Antworten
Initialisierung einer struct mit default-Werten ist trivial: struct X { int a; int b = 2; }; und die Initialisierung einer Struktur mit einer Klammer Initialisierung trivial zu: X x = {1, 3}; Überraschend die init-code wird
3
Antworten
Ich bin versucht zu ermitteln, ist der Rückgabetyp von verschiedenen C++ member-Funktionen. Ich verstehe, dass decltype und std::declval kann verwendet werden, um dies zu tun, aber ich habe Probleme mit der syntax und die Suche nach nützlichen
5
Antworten
Im folgenden Beispiel wird erfolgreich (d.h. nicht hängen), wenn kompiliert mit Clang 3.2 oder GCC 4.7 auf Ubuntu 12.04, aber hängt sich auf wenn ich kompilieren Sie mit VS11 Beta oder VS2012 RC. #include <iostream> #include <string>
3
Antworten
Gibt es mehrere Beiträge im internet, die vorschlagen, dass Sie verwenden sollten std::vector<unsigned char> oder etwas ähnliches für binäre Daten. Aber ich würde viel lieber eine std::basic_string - Variante, da es viele praktische string-manipulation Funktionen. Und AFAIK
3
Antworten
Es war eine Antwort auf stackoverflow (ich kann nicht scheinen mehr zu finden) welche zeigten, wie ein variadic template kann verwendet werden, in C++11 zum erstellen eines statischen Arrays zur compile-Zeit: template <class T, T... args> struct
1
Antworten
Entnehmen Sie bitte den folgenden code-snippet. Ich will das std::bind für überladene Funktion foobar. Es ruft nur die Methode ohne Argumente. #include <functional> #include <iostream> class Client { public : void foobar(){std::cout << "no argument" << std::endl;}
2
Antworten
Weil std::function ist kopierbar, die standard erfordert, dass callables verwendet, um zu konstruieren, es werden auch kopierbar: n337 (20.8.11.2.1) template<class F> function(F f); Erfordert: F werden CopyConstructible. f sind Aufrufbar sein (20.8.11.2) für die argument-Typen ArgTypes -
3
Antworten
Soweit ich das beurteilen kann, den Anforderungen an eine Zuweisung verwendet werden mit STL Behälter angeordnet sind in Tabelle 28 in Abschnitt 17.6.3.5 der C++11 standard. Ich bin ein wenig verwirrt über die Interaktion zwischen einige dieser
2
Antworten
In C++11, vector<string> blockPathList; for(int i = 0; i < blockNum; i++) { blockPathList.push_back(desPath + "part" + to_string(i)); } Ist es möglich, re-schreiben Sie den obigen code wie list comprehension, oder kürzer und übersichtlicher? Was blockNum und
1
Antworten
Las ich bezüglich der move-Konstruktor und ich habe diesen code in VS 2013... class Student { unique_ptr<string> pName_; public: Student(string name) : pName_(new string(name)) { } ~Student() { } Student(Student&&) = default; //Here I get the error.
2
Antworten
Ich versuche zu generieren, die Funktionsdeklaration mit einem makro /* goal: generate int f(int a, float b) */ template<typename P> struct ptype; template<typename P> struct ptype<void(P)> { typedef P type; }; #define NAMEe #define COMMAe #define COMMA
1
Antworten
Ich versuche, einen C++11 std::condition_variable, aber wenn ich versuche zu sperren, die unique_lock Zusammenhang mit ihm von einem zweiten thread, bekomme ich eine exception "Resource deadlock vermieden". Der thread, der erstellt, es kann sperren und entsperren Sie