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.

Clang 3.3 und C++14-Unterstützung?

Anzahl der Antworten 1 Antworten
Clang 3.3 unterstützt einige C++14 features, wie die Initialisierungen und Aggregate. Allerdings bin ich nicht in der Lage um diesen code zu kompilieren, auch mit -std=c++11 wechseln. struct A { struct X { int a, b; };

Können Sie die Verwendung decltype in einem template-parameter?

Anzahl der Antworten 2 Antworten
Ich versuche zu überlasten und eine Multiplikation Betreiber wollen aber nicht zu geben, mehrere überladene Funktionen zu berücksichtigen, die Multiplikation von int und float, int und double, float und int, etc... ich war in der Hoffnung zu

Holen Sie Teil von std::tuple

Anzahl der Antworten 6 Antworten
Ich habe ein Tupel der unbekannten Größe (es ist die Vorlage parametr der Methode) Ist es Weg zu bekommen, ein Teil davon (ich brauche wegwerfen erste element) Ich habe zum Beispiel tuple<int,int,int>(7,12,42). Ich will tuple<int,int>(12,42) hier Sie

Compiler-Fehler gemeldet wurden, const vector<const T> in VS 2015, aber nicht VS 2013

Anzahl der Antworten 1 Antworten
Der folgende code kompiliert werden, OK mit Visual Studio 2013. #include <vector> #include <string> int main() { const std::string constString("fred"); const std::vector<const std::string> myVector{ constString }; } Wenn ich versuche zu kompilieren mit Visual Studio 2015 wird

Nicht-kopierbaren Elemente in Vektor

Anzahl der Antworten 2 Antworten
Ich habe einen nicht-kopierbaren-Klasse (also die Kopie-Konstruktor & Zuweisungs-operator gekennzeichnet sind, als 'löschen'). Ich würde gerne halten Sie diese in einem std::vector. Es ist eine RAII Klasse, so einfach speichern Sie den Zeiger oder Referenz ist es

Wie kann ich die verschiedenen zahlen und Buchstaben in einen C++ String?

Anzahl der Antworten 6 Antworten
Ich habe mehrere Eingangs-strings mit zahlen und Buchstaben. Manchmal ist der Platz fehlt. Ich möchte hinzufügen zusätzlicher Raum, der jedes mal, wenn der string ändert sich von zahlen zu Buchstaben oder von Buchstaben zu zahlen. Beispiel Eingänge:

Wie verwenden von auto mit const und & in C++?

Anzahl der Antworten 3 Antworten
Habe ich eine Methode, die zurückgibt, const A &. Wenn ich verwenden möchten, auto, was ist der richtige Weg, es zu tun. Ist das OK? const auto &items = someObject.someMethod(); Sehe ich einige Menschen, die dies tun:

Unterschied zwischen standard atomarer boolescher und atomarer Flagge

Anzahl der Antworten 2 Antworten
Ich war nicht bewusst das std::atomic Variablen wurde aber bewusst über die std::mutex (komisch, richtig!) zur Verfügung gestellt von der standard; aber eine Sache fiel mir ins Auge: es sind zwei scheinbar gleiche(für mich) atomaren Typen, die

Was passiert, wenn ich den Anruf warten auf eine benannte Bedingung variable

Anzahl der Antworten 2 Antworten
Angenommen ich habe zwei Threads und eine gemeinsam genutzte c++ 11-Bedingung variable. was passiert, wenn thread1 Anruf informieren, und nach, dass Thread2 verzahnt Anruf warten? wird Thread2 verzahnt block-für immer oder wird es weiterhin seine Arbeit durch

C++/g++ cygwin_exception::open_stackdumpfile: Dumping stack-trace *.exe.stackdump

Anzahl der Antworten 1 Antworten
Hier ist mein main in Airport.cpp: #include <iostream> #include "Airport_Queue.h" #include "Airplane.h" #include <stdlib.h> int main(){ Airplane *b = new Airplane(true); (*b).come(); (*b).go(); std::cout << "........." << std::endl; Airport_Queue *landing_queue = new Airport_Queue(5); Airplane *a0 = new

Warum ist C++0x `s " noexcept` dynamisch geprüft?

Anzahl der Antworten 6 Antworten
Ich bin neugierig, die Gründe für noexcept im C++0x-FCD. throw(X) war veraltet, aber noexcept scheint das gleiche zu tun. Gibt es einen Grund, dass noexcept nicht geprüft werden bei der Kompilierung? Es scheint, dass es besser wäre,

Ist die Rückkehr mit "std::move" sinnvoll, wenn mehrere return-Anweisungen?

Anzahl der Antworten 1 Antworten
Ich bin mir bewusst, dass es in der Regel nicht eine gute Idee, zurück mit std::move, d.h. bigObject foo() { bigObject result; /*...*/ return std::move(result); } anstatt einfach bigObject foo() { bigObject result; /*...*/ return result; }

C++11 lockless queue mit std::atomic (multi writer, einzelne Verbraucher)

Anzahl der Antworten 2 Antworten
Ich produziert haben, die eine einfache Umsetzung der lockless (lockfree) Warteschlange mit der neuen std::atomic in C++11. Ich kann nicht sehen, was ich falsch mache hier. #include <atomic> template<typename T> class lockless_queue { public: template<typename DataType> struct

Mit Boost-Adapter mit C++11 lambdas

Anzahl der Antworten 4 Antworten
Ich habe versucht, um diesen code zu kompilieren: #include <boost/range/adaptors.hpp> #include <boost/range/algorithm.hpp> #include <vector> int main() { std::vector<int> v{ 1,5,4,2,8,5,3,7,9 }; std::cout << *boost::min_element(v | boost::adaptors::transformed( (int i) { return -i; })) << std::endl; return 0; }

Emplacing ein std::pair

Anzahl der Antworten 3 Antworten
Gibt es eine Möglichkeit, emplacing eine std::pair? std::unordered_map<int, std::pair<std::string, std::string>> my_map; my_map.emplace(1, "foo", "bar"); //Error Natürlich das einfügen ist möglich: my_map[2] = std::make_pair("bar", "foo"); Aber nicht diese erfordern unnötige kopieren/verschieben? InformationsquelleAutor Daniel | 2014-09-10

Rückgabe eines Tupels aus einer Funktion mit uniform initialization syntax

Anzahl der Antworten 2 Antworten
Der folgende code kompiliert werden, mit clang (libc++) und schlägt mit gcc (libstdc++). Warum wird gcc (libstdc++) beschwert sich über eine Initialisierungsliste? Ich dachte, das return-argument war mit uniform initialization syntax. std::tuple<double,double> dummy() { return {2.0, 3.0};

Wann Q_NULLPTR?

Anzahl der Antworten 4 Antworten
Sehe ich Q_NULLPTR verwendet wird liberal in der Qt source code und Beispiele, aber ich finde keine Dokumentation, was es genau ist und wenn es verwendet werden soll. Beispielsweise in diesem offiziellen demonstration der neuen Qt-SerialBus-Modul Hinzugefügt

C++ Übergeben std::string durch den Verweis auf die Funktion in der dll

Anzahl der Antworten 3 Antworten
Habe ich das problem mit der übergabe by reference std::string Funktion in der dll. Diese Funktion aufrufen: CAFC AFCArchive; std::string sSSS = std::string("data\\gtasa.afc"); AFCER_PRINT_RET(AFCArchive.OpenArchive(sSSS.c_str())); //AFCER_PRINT_RET(AFCArchive.OpenArchive(sSSS)); //AFCER_PRINT_RET(AFCArchive.OpenArchive("data\\gtasa.afc")); Diese Funktion header: #define AFCLIBDLL_API __declspec(dllimport) AFCLIBDLL_API EAFCErrors CAFC::OpenArchive(std::string const &_sFileName);

Warnung: übergeben von NULL in nicht-Zeiger-argument für " std::thread::thread

Anzahl der Antworten 2 Antworten
Die Funktion, die ich ausführen möchten: struct foo; void bar(const foo* p = 0); Wie ich die Funktion aufrufen: auto thread = std::thread(&bar, NULL); Warnung: foobar.h:223:9: Warnung: übergeben von NULL in nicht-Zeiger-argument 2 of 'std::thread::thread(_Callable&&, _Args&& ...)

Aufrufen von überladenen Memberfunktionen mit std::thread

Anzahl der Antworten 5 Antworten
Ist es möglich, überlastungen für Funktionen, die wir benötigen, umfassen die Verwendung von threads ? Habe ich eine einfache Klasse namens Complex. class Complex { public: Complex():realPart_(0), imagPart_(0){} Complex(double rp, double ip) : realPart_(rp), imagPart_(ip) {} double

Template-template-Parameter und variadic templates mit gcc-4.4

Anzahl der Antworten 2 Antworten
Ich bin mit gcc 4.4 auf Debian squeeze. Betrachten Sie den folgenden code. #include <map> #include <string> using std::map; using std::string; //Args lets the user specify additional explicit template arguments template <typename T, template <typename T, typename...

Warum kann ich nicht bauen eine queue/stack mit brace-enclosed-Initialisierer-Listen? (C++11)

Anzahl der Antworten 3 Antworten
Programm 1: #include <iostream> #include <cstdlib> #include <vector> int main(){ //compiles successfully std::vector<int> vec{1,2,3,4,5}; return EXIT_SUCCESS; } Programm 2: #include <iostream> #include <cstdlib> #include <queue> int main(){ //compiler error std::queue<int> que{1,2,3,4,5}; return EXIT_SUCCESS; } Fehlermeldung: main.cpp: In

Initialisieren eines unique_ptr wenn ein Konstruktor

Anzahl der Antworten 2 Antworten
class BaseShader { std::unique_ptr<HandleInterface> handle_; public: BaseShader(); BaseShader(std::unique_ptr<HandleInterface> handle_ptr); .cpp BaseShader::BaseShader(std::unique_ptr<HandleInterface> handle_ptr) { handle_.reset(handle_ptr.get()); } //BaseHandle implements HandleInterface BaseShader::BaseShader():BaseShader(std::make_shared<BaseHandle>()) { } Würden wie Initialisiere ich meine unique_ptr handle_ richtig? Ich möchte es verwenden, wie dies BaseShader s(std::make_shared<BaseHandle>());

Richtige Möglichkeit für das definieren einer Konstante C-Strings in C++?

Anzahl der Antworten 4 Antworten
Meiste Zeit sehe ich Konstante C-strings definiert als: static char const* MY_CONSTANT = "Hello World"; Jedoch die Zeiger selbst ist nicht const. Wäre es nicht eher angebracht, machen Sie es wie unten? static char const* const MY_CONSTANT

std::array unvollständige Typ-Fehler mit einem array von std::tuple

Anzahl der Antworten 1 Antworten
Bin ich immer ein seltsames Verhalten mit einem C++11 std::array. Wenn ich versuche zu kompilieren mit std::array<std::tuple<int, float>, 6> myTuples; als eine member-variable, bekomme ich diese Fehler: mingw32\4.7.2\include\c++\array:-1: In instantiation of 'struct std::array<std::tuple<int, float>, 6u>': mingw32\4.7.2\include\c++\array:77: error:

Boost.Asio: Der Unterschied zwischen async_read und async_receive

Anzahl der Antworten 2 Antworten
Was ist der Unterschied zwischen async_read und async_receive? Sie tun verschiedene Dinge. Man nur liest, der andere liest ein bestimmter Betrag oder Fehler. Sie finden ganz Seiten Sie verlinkt - Sie werden Ihnen sagen. InformationsquelleAutor Clark Gaebel

Zeiger auf Klasse als template-parameter

Anzahl der Antworten 4 Antworten
Möchte ich einen Zeiger auf eine Klasse als template-parameter ein, wie in: template <class Class, class Result, Result Class::*Member> struct MyStruct { //... }; Verwendung dieser Struktur wie MyStruct<SomeClass, SomeResult, &SomeClass::value> variable funktioniert Prima, aber ich mag

Was ist leistungsmäßig die beste Möglichkeit zum generieren von zufälligen bools?

Anzahl der Antworten 9 Antworten
Muss ich generieren random Boolean-Werte, die sich auf einen performance-kritischen Weg. Den code, den ich schrieb, für diese ist std::random_device rd; std::uniform_int_distribution<> randomizer(0, 1); const int val randomizer(std::mt19937(rd())); const bool isDirectionChanged = static_cast<bool>(val); Aber glaube nicht, dass

Unsigned integer als UTF-8-Wert

Anzahl der Antworten 4 Antworten
davon aus, dass ich uint32_t a(3084); Ich würde gerne einen string speichert unicode-Zeichen U+3084 was bedeutet, dass ich, sollte der Wert von a und verwenden Sie es als die Koordinaten für das Rechte Zeichen im UTF8-Tabelle/charset. Nun,

Wie kann ich festlegen, compiler-Optionen in KDevelop?

Anzahl der Antworten 1 Antworten
Ich zog vor kurzem von der Entwicklung mit code::blocks Entwicklung mit kdevelop. (Ich habe genug von codeblocks als instabil und nicht in der Lage, Tastatur-shortcuts). Wie ich es verstehe kdevelop verwendet cmake zu Steuern, den Bau von

Wert-Initialisierte Objekte in C++11 und std::vector-Konstruktor

Anzahl der Antworten 2 Antworten
In C++ gibt es nur wenige zwingende Gründe, die ein C-array über std::vector. Einer der wenigen zwingenden Gründen, zumindest mit C++03, war die Tatsache, dass es unmöglich ist, verwenden Sie einen Vektor zuordnen ein nicht initialisiertes array

Übergabe per Referenz, Konstante Referenz, rvalue-Referenz, Konstante oder rvalue-Referenz?

Anzahl der Antworten 5 Antworten
Ich war lernen durch Verweis übergeben wird, und hier ist der test, den ich gemacht habe: #include <iostream> using namespace std; int i = 0; //If this is uncommented, compiler gives ambiguous definition error. //void paramCheck (string

C++11 constexpr Funktion übergebene argument in das template-argument

Anzahl der Antworten 4 Antworten
Dies funktionierte vor einigen Wochen: template <typename T, T t> T tfunc() { return t + 10; } template <typename T> constexpr T func(T t) { return tfunc<T, t>(); } int main() { std::cout << func(10) <<

Holen Sie sich die restlichen verfügbaren Speicher in standard C++11?

Anzahl der Antworten 4 Antworten
Ist es möglich, den noch verfügbaren Speicher auf einem system (x86 -, x64, PowerPC /Windows, Linux oder MacOS) in standard C++11, ohne abzustürzen ? Eine naive Möglichkeit wäre, zu versuchen, die Zuweisung sehr großen arrays ausgehend von

Mehrere Fragen über <chrono> header in C++ 11

Anzahl der Antworten 2 Antworten
Ich habe mehrere Fragen über die neue <chrono> header in C++ 11. Mit Windows 7, Visual Studio 2012. Blick auf das Beispiel http://en.cppreference.com/w/cpp/chrono #include <iostream> #include <chrono> #include <ctime> int fibonacci(int n) { if (n < 3)

Probleme mit dem kompilieren in CLion

Anzahl der Antworten 2 Antworten
Ich habe gerade angefangen mit die neu veröffentlichten EAP-build von CLion von JetBrains, und die ganze Sache läuft auf CMake. Ich schrieb das CMake-Skript richtig, ich denke, da alle Bibliotheken eingebunden sind und keine Fehler geworfen werden,

Erstellen von eindeutigen zahlen zur compile-Zeit

Anzahl der Antworten 4 Antworten
Ich soll zum generieren von eindeutigen Nummern für jede Klasse in meinem Kopf, Primzahlen in meinem Fall Primzahlen, aber sagen wir mal das sollte nur aufeinanderfolgende zahlen also 1,2,3,4,usw. Kann ich natürlich fest diese: struct A {

C++ - Wie können wir ein Millisekunden-Zeitstempel in linux?

Anzahl der Antworten 2 Antworten
Wie konvertiert std::chrono::monotonic_clock::now() zu Millisekunden und warf es zu lange? mit steady_clock oder high_resolution_clock von der chrono ist auch gleich. Ich habe gesehen, in std::chrono::duration_cast<std::chrono::milliseconds> aber ich will nur den aktuellen timestamp und nicht irgendwelche Dauer-Lücken. clock_gettime()

Funktion Komposition in C++ / C++11

Anzahl der Antworten 7 Antworten
Ich bin derzeit auf der Codierung einige kryptographische algorithmen in C++11, die erfordern eine Menge von Funktion Kompositionen. Es gibt 2 Arten der Komposition, die ich zu bewältigen haben : Verfassen einer Funktion auf sich selbst, eine

ungültige Konvertierung von void* zu void (*) int Fehler beim kompilieren eine einfache Signale-code auf Linux

Anzahl der Antworten 3 Antworten
mein code: #include "xception.h" #include <iostream> #include <stdio.h> #include <signal.h> #include <stdio.h> #include <signal.h> #include <execinfo.h> void bt_sighandler(int sig, struct sigcontext ctx) { void *trace[16]; char **messages = (char **)NULL; int i, trace_size = 0; trace_size =

Wie kann ich Sie initialisieren ein Mitglied std::array von Objekten, die nicht über eine default-Konstruktor?

Anzahl der Antworten 4 Antworten
Hier ist der code, ich habe ein problem mit: class Foo { public: Foo() : memberArray{Bar(1), Bar(3), Bar(2)} {} struct Bar { Bar(int param1) { } }; private: std::array<Bar,3> memberArray; // Bar memberArray[3]; //Using a raw array

Portabilität von Systemeigenen C++ - Eigenschaften

Anzahl der Antworten 4 Antworten
In Visual Studio, es gibt __declspec(property) erzeugt ähnliche Eigenschaften wie C#. Borland C++ bietet die __property Stichwort mit genau der gleichen Funktionalität. In der C++0x, es ist die Rede von einem implizite Schlüsselwort, das könnte erweitert werden,

Wie schnell sind lambda-Funktionen im GCC

Anzahl der Antworten 5 Antworten
Haben gespielt, um ein bisschen mit C++0x-Lambda-Ausdruck in G++, ich Frage mich, wie gut die Leistung im Allgemeinen/spezifischen Situationen im Vergleich zu alternativen Möglichkeiten, ohne Verwendung von lambda-Funktionen. Weiß jemand eine mehr oder weniger umfassende Diskussion der

Asynchron eine Datei schreiben in c++, unix

Anzahl der Antworten 2 Antworten
Habe ich einige lange Schleife, die ich brauche, um zu schreiben, Daten in eine Datei bei jeder iteration. Das problem ist, dass das schreiben in eine Datei kann langsam sein, so möchte ich die Zeit verringern, die

So wählen Sie ein iterator-Typ mit auto-variable?

Anzahl der Antworten 1 Antworten
Habe ich eine std::unordered_map std::unordered_map<std::string, std::string> myMap; Möchte ich, um einen const-iterator-Verwendung finden. In c++03, die ich tun würde std::unordered_map<std::string, std::string>::const_iterator = myMap.find("SomeValue"); In c++11 würde ich wollen, verwenden Sie auto statt zu schneiden nach unten auf

Globale variable namespace - Werte unterscheiden sich in threads

Anzahl der Antworten 1 Antworten
Betrachten Sie das folgende szenario: 2 verschiedene Netzwerk-ports über boost::asio jeder in seinem eigenen thread 1-port empfangen und verarbeiten von Daten - class DataConnection verpackt in einem std::thread 1 Anschluss ist für das senden von Statistiken class

Dezimal Division durch shift Links

Anzahl der Antworten 5 Antworten
Ich habe eine Frage zu convert-base von 10 auf 2 ohne mit division(/) und Module(%),und so kam ich auf die Lösung mit dem bitweisen UND(&)und shift-rechts(>>) Operatoren. so, ich beginne zu lernen, was diese beiden Operatoren genau,

Wie kann ich die lambda auch für die container-Vergleich-operator ?

Anzahl der Antworten 1 Antworten
Dies ist, wie ich verwenden würde eingebaute Funktion oder die neue Klasse als eine benutzerdefinierte Komparator - priority_queue< int, vector<int>, greater<int> > third (myints,myints+4); //using mycomparison: priority_queue< int, vector<int>, mycomparison > q1; class mycomparison { public: bool

C++11 constexpr Funktion parameter übergeben

Anzahl der Antworten 3 Antworten
Betrachten Sie den folgenden code: static constexpr int make_const(const int i){ return i; } void t1(const int i) { constexpr int ii = make_const(i); //error occurs here (i is not a constant expression) std::cout<<ii; } int main()

Wie geben Sie C++11 mit distutils?

Anzahl der Antworten 2 Antworten
Ich habe ein Modul, das kompiliert werden muss, die mit C++11. Auf GCC und Clang, das bedeutet, dass ein std=c++11 wechseln, oder std=c++0x auf älteren Compilern. Python nicht kompiliert mit diesem Schalter, so dass Distutils doesn T