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.
Immer Abbruch mit "uncaught exception vom Typ std::length_error: vector" Fehler C++

Ich Schreibe ein Programm zum lösen von Kreuzworträtseln. Also ich bin immer ein Wort aus einem text-Liste aller Wörter in der englischen Sprache, so dass jeder Vektor von chars, und der Vergleich, der Vektor zu einem Vektor
Parameter zu verwenden, std::greater oder std::less als argument

Ich würde gerne eine Funktion mit einem parameter akzeptiert entweder std::greater<int> oder std::less<int> als argument. Ich bin fest an der syntax für den parameter, wenn. Dies ist das format, das ich ausprobiert: myFunction(int a, int b, bool
So drucken griechischen Buchstaben delta in c++

Habe ich eine kleine konsolenbasierte Anwendung, mit der Physik lösen von Gleichungen. Ich bin versuchen, um den Benutzer zu Fragen, wenn Sie wollen, finden Sie die ΔV in einer bestimmten situation, aber ich kann nicht herausfinden, wie
Initialisieren unordered_map in der Initialisierungsliste

Ich versuche eine Lösung zu finden, was vielleicht ein sehr triviales problem. Ich möchte meine initialisieren const unordered_map in der Klasse Initialisierungsliste. Aber ich bin noch zu finden, die syntax, die der compiler (GCC 6.2.0) akzeptieren. Ein
Warnung mit automatischer Rückgabetyp Abzug: warum brauchen wir decltype bei der Rückkehr definiert der Typ überhaupt?

Dies ist eine Frage, was tun Sie für die elementsSize() member-Funktion, in Bezug auf die automatische Rückgabetyp Abzug: #include <iostream> #include <vector> template<typename Element> class ElementVector { std::vector<Element> elementVec_; //Other attributes. public: ElementVector() = default; ElementVector(const std::initializer_list<Element>&
ist es besser, zu verwenden shared_ptr.reset-oder-operator =?

Ich versuche, wickeln Sie meinen Kopf herum, die neue Redewendungen für C++11. Scheint es, dass mit shared_ptr zumindest, es gibt einen inhaltlichen Unterschied zwischen der Verwendung new T() und make_shared<T>(). Aber was ist das zurücksetzen eines shared-pointer
Schalten Sie die clr-option für header-Datei mit std::mutex

Habe ich ein Visual Studio-Projekt enthält Dateien mit verwaltetem code und Dateien mit nicht verwaltetem code. Das Projekt hat die CLR-Unterstützung, aber wenn ich eine Datei hinzufügen, wo ich nicht brauchen .Ich NET einfach ausschalten /crl-option mit
Move-Konstruktor aufrufen base-class-Move-Konstruktor

Ich habe eine base-Klasse, die im wesentlichen umschließt, die Sie hinzufügen einer Klasse zu einer beliebigen windows-handle (e.g, HWND, HFONT), und verwendet eine policy-Klasse zu attach/detach und zerstören: //class SmartHandle template<typename THANDLE, class TWRAPPER, class TPOLICY> class
C++11: Explizite Instanziierung Deklaration vs. explizite Instantiierung definition

Was ist der Unterschied zwischen C++03 die explizite template-Instantiierung definition und C++11, die explizite template-Instantiierung Erklärung ? Was ich meine ist, warum die Instanziierung definition ist nicht genug, um zu verhindern, dass der compiler generiert die Umsetzung
erkennen typedef zur compile-Zeit (Schablone metaprogramming)

Ich bin derzeit dabei einige template-metaprogramming. In meinem Fall kann ich mit jedem "iteratable" geben, d.h. jede Art, für die eine typedef foo const_iterator existiert in der gleichen Weise. Ich habe versucht, verwenden Sie die neue C++11
const XX discards qualifiers [- fpermissive]

Im code-snippet 1 unten, mKnownSRList ist wie folgt definiert: std::vector<EndPointAddr*> mKnownSRList; Ich bin immer ein Kompilierungsfehler angezeigt, die im code-snippet 2. Können Sie mir sagen, was ist falsch an diesem code bitte? Die Inhalte der getTipcAddress() und
Warum gibt es keine " static_if` in C++11

Frage ich mich, warum eine so Natürliche Sache, wie static_if ist nicht gelungen, in C++11? Einige Leute Objekt, das mit der Vererbung oder template-Spezialisierung, die wir erreichen konnten, forderte Ergebnisse, ABER: Warum nicht wir haben eine einfache
makefile funktioniert nicht mit -std=c++11-option

Ich versuche zu spielen, mit einigen C++11 Funktionen mit g++ 4.8.2 mit dem folgenden makefile CC=g++ DEBUG=-g CFLAGS=-c -Wall -std=c++11 $(DEBUG) LFLAGS = -Wall -std=c++11 $(DEBUG) SOURCES=test.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=test all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LFLAGS) $(OBJECTS)
c++11 thread_local Stichwort support in visual studio 11

So gibt es eine Liste der c++11-features von visual studio unterstützten. thread_local Unterstützung gekennzeichnet ist, als Teil. Ich war nicht in der Lage zu finden, eine Erklärung, was genau die partielle Unterstützung bedeutet hier. Haben Sie nur
C++ - Forward-Deklaration der Klasse als Gültigkeitsbereich enumeration

Frage ich mich, ob es möglich ist, vorwärts-Deklaration einer enum definiert, die innerhalb einer anderen Klasse Anwendungsbereich. Betrachten Sie zum Beispiel die folgenden: //A.h class A { public: enum class type: unsigned long { /*some stuff*/ }
C++ decltype Aufzucht aktuellen Funktion zurückgegebenen Typ

Ich würde gerne automatisch ableiten, den zurückgegebenen Typ der Funktion, die ich Schreibe. Beispiel: std::vector<int> test(){ decltype(this_function) ret; ret.push_back(5); ret.push_back(9); return ret; } Bisher die beste, die ich erreicht haben ist std::vector<int> test(){ decltype(test()) ret; ret.push_back(5); ret.push_back(9);
Ist es beabsichtigt, die von der C++ standards committee", die in C++11 unordered_map zerstört, was es wird?

Ich habe nur verloren drei Tage meines Lebens aufspüren eines sehr seltsamen bug, wo unordered_map::insert() löscht die variable, die Sie einfügen. Dieses hoch nicht-offensichtliche Verhalten tritt in sehr aktuellen Compiler nur: ich fand, dass clang 3.2-3.4 und
Wie verwende ich while true in threads?

Kann jemand Punkt mich bei der Sache ich versuche zu tun in diesem code, weil SecondLoop thread ist nicht erreichbar, auf allen? Es wird erreichbar nur, wenn ich entfernen while(true) Schleife. #include <iostream> #include <thread> using namespace
c++ : konvertieren Sie vector-Tupel

Wie kann ich umwandeln std::vector std::tuple ? Ich habe class T { }; int cnt = 3; vector<T*> tv; for (int i = 0; i < cnt; ++i) { tv.push_back(new T()); } Ich will auto tp =
C++11 Hash-Funktion für jede enum-Typ

Schreibe ich eine hash-Funktion für mein Objekt. Ich kann schon hash-Behälter und kombinieren hashes, Dank Generische Hash-Funktion für alle STL-Container. Aber meine Klassen haben auch enums. Natürlich kann ich erstellen Sie eine hash-Funktion für jeden enum, aber
Lookup-Tabelle mit constexpr

Ich bin auf der Suche zum erstellen einer lookup-Tabelle der Koordinaten, so etwas wie: int a[n][2] = {{0,1},{2,3}, ... } Für einen bestimmten n, angelegt werden zur compile-Zeit. Ich suchte in constexpr, aber scheint wie eine Funktion
Erstellen einer Warteschlange Blockiert

Manchmal ist diese Umsetzung und Durchführung von BlockingQueue funktioniert einfach. Manchmal ist es segfaults. Irgendeine Idee warum? #include <thread> using std::thread; #include <mutex> using std::mutex; #include <iostream> using std::cout; using std::endl; #include <queue> using std::queue; #include <string>
Visual C++ 2010 Atomare Datentypen unterstützt?

Macht VC++ 2010 haben die Unterstützung für C++11-der portable-Typ atomic template? InformationsquelleAutor Electro | 2010-05-29
Standard-argument, gcc vs clang

Code sieht wie folgt aus: struct Foo { Foo(const char *); }; Foo::Foo(const char *str = 0) { } VS 2013 und gcc 4.8.0 akzeptieren einen solchen code, während clang 3.3 lehnen diesen code mit: Fehler: neben
unique_ptr operator=

std::unique_ptr<int> ptr; ptr = new int[3]; //error error C2679: binärer '=' : kein operator gefunden, die einen rechten Operanden vom Typ 'int *' (oder es gibt keine akzeptable Konvertierung) Warum dies nicht kompiliert? Wie kann ich die
seltsamer Fehler: use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr, wenn kein Zeiger wirklich geschaffen

Habe ich eine Klasse, die so aussieht: template<typename T> using VectorPtr=std::vector<std::unique_ptr<T>>; template<typename T> using VectorRawPtr=std::vector<T*>; class ItemsSet{ //<-- Compiler say this line contans an error 0_o ? public: ItemsSet(VectorPtr<Item>& items); ~ItemsSet() = default; VectorRawPtr<Item> GetItems(); VectorRawPtr<Item> GetSuitableItemsForPeriod(const
Sind die experimentellen features, die von modernen C++ zuverlässig für langfristige Projekte?

Ich habe ein Projekt, das derzeit verwendet C++11/14, aber es erfordert etwas wie std::filesystem, die es nur in C++17, und damit ich nicht die chance haben, derzeit verwenden. Ich sehe allerdings, dass es in meiner aktuellen compiler
Warum haben unary_function, binary_function entfernt von C++11?

Fand ich, dass binary_function entfernt von C++11. Ich Frage mich, warum. C++98: template <class T> struct less : binary_function <T,T,bool> { bool operator() (const T& x, const T& y) const {return x<y;} }; C++11: template <class T>
Warum wurde-pair-Bereich Zugriff entfernt von C++11?

Ich habe gerade entdeckt, dass an einer Stelle, die C++11-Entwurf hatte std::begin/std::end überladungen für std::pair erlaubt, dass die Behandlung von einem paar von Iteratoren als Bereich geeignet für den Einsatz in einem range-basierte for-Schleife (N3126, Abschnitt 20.3.5.5),
So installieren Sie C++11 C++0x-header-Dateien, die auf Redhat Enterprise

Zog ich meine Anwendung auf eine andere Linux-box, nach der Kompilierung, gibt es einen Fehler, sagen #include <atomic> nicht aufgelöst werden können. Ich denke, die neue GNU C++11 header-Dateien /Bibliotheken werden nicht installiert auf der neuen Maschine.
Fehler: expected unqualified-id before 'const' auf Linie 8

Ich erhalte immer diesen Fehler und ich weiß nicht, warum.Bitte nicht jemand erklären, warum solch ein Fehler ist und wie kann ich vermeiden solche Fehler. Dieser wird kompiliert mit g++ Meine header-Datei #ifndef _STUDENT_H #define _STUDENT_H #include
vector::push_back besteht darauf, mit Hilfe des copy-Konstruktors, obwohl ein move-Konstruktor zur Verfügung gestellt

Ich erhalte eine seltsame Fehlermeldung von gcc und kann nicht herausfinden, warum. Ich habe die folgende Beispiel-code, um das problem klarer. Grundsätzlich ist es eine Klasse definiert, für die ich seine copy-Konstruktor und copy-Zuweisungsoperator private, um zu
Std::string std::array?

Was ist der empfohlene Weg, um zu konvertieren eine Zeichenfolge in ein array? Ich bin auf der Suche nach etwas wie: template<class T, size_t N, class V> std::array<T, N> to_array(const V& v) { assert(v.size() == N); std::array<T,
Ist static_cast<T>(...) compile-Zeit oder zur Laufzeit?

Ist static_cast<T>(...) etwas, das getan wird zur compile-Zeit oder zur Laufzeit? Ich habe gegoogelt, aber ich bekam unterschiedliche Antworten. Auch dynamic_cast<T>(...) ist offensichtlich runtime - aber was reinterpret_cast<T>(...)? "Statisch"... der Hinweis ist im Namen. static_cast führt keine
Kann nicht kompilieren von C++11 Quelle mit GCC 5.1 toolchain

Ich versuche zu kompilieren eine Bibliothek geschrieben, mit C++11 Funktionen mit GCC 5.1 auf Ubuntu. Allerdings beschwert es sich std::unique_ptr ist nicht definiert. gcc (Ubuntu 5.1.0-0ubuntu11~14.04.1) 5.1.0 g++ (Ubuntu 5.1.0-0ubuntu11~14.04.1) 5.1.0 CXX-flags: -std=c++11 -Wall -Wextra -Weffc++ -pedantic
Funktioniert der C++11 haben keine Unterstützung für die lokalen Funktionen?

Nun, es sind Lambda-Ausdrücke in C++, es scheint wirklich so dumm, dass ich kann nicht erklären, eine lokale Funktion... z.B.: Kann ich deklarieren Sie einen Typ in einer Funktion Körper, auch initialisieren Sie es als eine Tabelle
Richtig beenden das Programm. Mit Ausnahmen

Frage: Ist mit Ausnahmen der richtige Weg, um zu beenden mein Programm, wenn ich will eine Fehlermeldung angezeigt, und in der Nähe (Buchhaltung, die ich kann tief in das Programm)? Kann ich nur ausdrücklich nennen so etwas
Was ist die richtige Methode zum initialisieren eines Mitglieds-array mit einer Initialisierer-Liste?

Ich habe eine struct hält, dass ein array, und ich möchte, um eine Initialisierungsliste um die struct-Konstruktor weitergeleitet werden, auf dem array. Um zu veranschaulichen, habe ich versucht: #include <initializer_list> struct Vector { float v[3]; Vector(std::initializer_list<float> values)
Default-Konstruktor/Destruktor von außerhalb der Klasse?

Ist folgende rechtliche nach dem standard C++11 (= default außerhalb der definition der Klasse) ? //In header file class Test { public: Test(); ~Test(); }; //In cpp file Test::Test() = default; Test::~Test() = default; Das ist in
Was ist der default-Wert für ein std::atomic?

Finde ich, dass in der Praxis mit einer Vielzahl von C++11/C++14-Compiler, ein std::atomic hat einen undefinierten Anfangswert nur, wie es wäre, wenn es ein "raw" - Typ. Das heißt, wir erwarten, dass für die expression int a;
Warum std::shuffle Methoden als deprecated in C++14?

Entsprechend der cppreference.com Referenz-Website auf std::shufle, die folgende Methode ist als deprecated in c++14: template< class RandomIt > void random_shuffle( RandomIt first, RandomIt last ); Warum werden wir nicht mehr in der Lage, rufen Sie die folgende
Entfernen der Satzzeichen aus string Zeichen

Geschlossen. Diese Frage ist off-topic. Es ist derzeit nicht akzeptieren Antworten. verbessern Wollen dieser Frage? "Update" die Frage so ist es on-topic für Stack-Überlauf. Geschlossen 5 Jahren. Es ist eine übung in dem Buch C++ Primer (Nummer
enable_shared_from_this (c++0x): was mache ich falsch?

Ich bin nur spielte, um mit den smart-Pointer in der kommenden neuen c++ - standard. Aber ich kann das nicht begreifen, wird die Nutzung der shared_from_this Funktion. Hier ist, was ich habe: #include <iostream> #include <memory> class
Finden Letzte element in std::vector, die eine Bedingung erfüllt

Habe ich diese Anforderung zu finden das Letzte element im Vektor, die kleiner ist als ein Wert. Wie find_first_of sondern der erste ich möchte letzten. Ich suchte und fand, dass es keine find_last_of aber es ist find_first_of.
pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__Besitzer == 0' failed

Erhielt ich den Fehler: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->_Daten._owner == 0' failed. Und ich kann nicht finden jede Ursache. Aber ich bin mir nicht sicher über das folgende Stück code: Erklärungen: std::mutex lock; std::condition_variable cond; Reihenfolge der locks
Umsetzung der Move-Konstruktor durch den Aufruf Move-Zuweisungs-Operator

Dem MSDN-Artikel, Gewusst wie: Schreiben Sie einen Umzug Constuctor, hat die folgende Empfehlung. Wenn Sie beide einen move-Konstruktor und move-Zuweisungs-operator für die Klasse, die Sie beseitigen können, um redundanten code schreiben der move-Konstruktor-Aufruf der move-Zuweisungs-operator. Die folgende
Warum wird C++11 keine Unterstützung für die Deklaration extern "C" auf eine statische member-Funktion?

Zur Verfügung gestellt, dass ich eine C-Bibliothek, die eine Funktion deklariert als void g(void (*callback)()); Der folgende code ist eine elegante und dennoch rechtswidrig ist: struct A { //error C2159: more than one storage class specified (VC++
Warum funktioniert eine lambda haben eine Größe von 1 byte?

Arbeite ich mit der Erinnerung an einige Lambda-Ausdrücke in C++, aber ich bin ein bisschen verwirrt durch Ihre Größe. Hier ist mein test-code: #include <iostream> #include <string> int main() { auto f = (){ return 17; };
Macht es Sinn, std::unordered_map<int, int> anstelle von std::map<int, int>?

Sollte std::unordered_map<int, int> schneller als std::map`? Ich kümmern sich nicht darum, nur schnelle suchen, so dass ich dachte, ich sollte die Verwendung einer hashtable. Aber dann dachte ich, es werde versuchen, zusätzlich hash-mein Schlüssel oder so (die
C++11 auto-Deklaration mit und ohne Zeiger Feststellung

Was ist der Unterschied zwischen den Arten von bar1 und bar2? int foo = 10; auto bar1 = &foo; auto *bar2 = &foo; Wenn beide bar1 und bar2 sind int*, macht es Sinn zu schreiben, der Zeiger