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
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; };
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
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
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
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
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:
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:
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
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
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
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,
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; }
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
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; }
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
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};
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
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);
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&& ...)
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
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...
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
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>());
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
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:
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
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
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
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,
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
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
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
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) <<
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
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)
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,
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 {
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()
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
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 =
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
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,
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
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
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
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
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,
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
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()
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