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.

Erweitern makro in string literal

Anzahl der Antworten 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

Wie kombinieren Sie die Verwendung von std::bind mit std::shared_ptr

Anzahl der Antworten 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

std::make_shared, std::unique_ptr und move-Konstruktoren

Anzahl der Antworten 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

Wie std::function arbeitet

Anzahl der Antworten 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; };

g++ 4.8.1 C++ Threads, std::system_error - Betrieb nicht erlaubt?

Anzahl der Antworten 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

std::unique_ptr Versuch zum Verweis auf eine gelöschte Funktion

Anzahl der Antworten 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;

Mit Boost.Faser hat c++ einen Schritt näher zu kommen Erlang-Stil-Prozesses/threads?

Anzahl der Antworten 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

Double-Checked-Lock Singleton in C++11

Anzahl der Antworten 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);

C++11 und das fehlen von polymorphen Lambda-Ausdrücke - warum?

Anzahl der Antworten 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

Was ist "member-Initialisierung" in C++11?

Anzahl der Antworten 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?

"long int", "long long" - Daten-Typen

Anzahl der Antworten 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

Kann enum-Klasse geschachtelt werden?

Anzahl der Antworten 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

Was ist besser zu verwenden in C++11 , Null oder NULL?

Anzahl der Antworten 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 }

erfassen member-variable durch den Wert

Anzahl der Antworten 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,

Warum ist isnan unklar, und wie es zu vermeiden?

Anzahl der Antworten 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

C++ - so initialisieren Sie ein array von atomics?

Anzahl der Antworten 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

Initialisieren once_flag?

Anzahl der Antworten 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

Wie eine std::Funktion als C-callback-Stil

Anzahl der Antworten 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

Probleme mit unique_ptr : nicht ein Mitglied von 'std'

Anzahl der Antworten 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

Gesicht Wahrzeichen der Extraktion in OpenCV 3.0. Kann jemand empfehlen jedem guten open-source-Bibliotheken, die es mir ermöglichen, zu extrahieren, Gesichts-Sehenswürdigkeiten?

Anzahl der Antworten 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

variadic template parameter pack Erweiterung für Funktionsaufrufe

Anzahl der Antworten 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

LLVM&Clang unterstützt C++11

Anzahl der Antworten 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

Wie, um sicherzustellen, dass std::thread erstellt werden in multi-core?

Anzahl der Antworten 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;

Virtuellen Destruktor mit virtuellen Mitgliedern, die in C++11

Anzahl der Antworten 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

Die Implementierung von std::forward

Anzahl der Antworten 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

Unterschied zwischen std::greater<int>() und std::greater<int>?

Anzahl der Antworten 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

c++ Aufruf Konstruktor in einem anderen Konstruktor der gleichen Klasse

Anzahl der Antworten 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)

Fehler C2672: 'operator __Surrogat_func": keine passende überladene Funktion gefunden, bei der Verwendung von std::upper_bound

Anzahl der Antworten 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),

Was ist der Grund für `std::make_tuple`?

Anzahl der Antworten 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

Keine brauchbare Konvertierung von 'const std::__1::basic_string<char> to 'std::__1::basic_string<char> *'

Anzahl der Antworten 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...

Wie finde ich heraus, ob ein Tupel enthält eine Art?

Anzahl der Antworten 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,

Was ist der aktuelle Stand von C++ AMP

Anzahl der Antworten 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

Bewegen unique_ptrs von einem Vektor zu einem anderen

Anzahl der Antworten 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

C++ - Lambdas: Unterschied zwischen "veränderlich" und capture-by-reference

Anzahl der Antworten 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';

"type-switch" - Konstrukt in C++11

Anzahl der Antworten 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); }

Move-Konstruktoren und Statische Arrays

Anzahl der Antworten 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

Locale-spezifische Verhalten in der regex-Bibliothek?

Anzahl der Antworten 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

G++ ist der C++ 11 thread-Modell mit pthreads in den hintergrund?

Anzahl der Antworten 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

Klammer (Aggregat) Initialisierung für Strukturen mit default-Werten

Anzahl der Antworten 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

Wie kann ich ermitteln, der return-Typ eines C++11-member-Funktion

Anzahl der Antworten 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

std::thread::join() hängt, wenn aufgerufen, nachdem main() sich beendet, wenn mit VS2012 RC

Anzahl der Antworten 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>

Kann ich sicher verwenden std::string für die binären Daten in C++11?

Anzahl der Antworten 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

Erstellen von statischen array mit variadischen templates

Anzahl der Antworten 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

std::bind und überladene Funktion

Anzahl der Antworten 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;}

Move-only-version von std::function

Anzahl der Antworten 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 -

Wie kann ich schreiben Sie eine stateful-Zuweisung in C++11, da Anforderungen an die copy-Konstruktion?

Anzahl der Antworten 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

Wie generieren Sie Vektor-wie list comprehension

Anzahl der Antworten 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

Move-Konstruktor - Ungültiger Typ für ausgefallenen Konstruktor VS 2013

Anzahl der Antworten 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.

Erzeugende Funktion Erklärung mit Hilfe eines makro-iteration

Anzahl der Antworten 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

Verriegelung C++11 std::unique_lock Ursachen deadlock Ausnahme

Anzahl der Antworten 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