Was ist die richtige Verwendung von C ++ 11 for? Welche Syntax sollte verwendet werden? for (auto elem : container)oder for (auto& elem : container)oder for (const auto& elem : container)? Oder irgendein
Was ist die richtige Verwendung von C ++ 11 for? Welche Syntax sollte verwendet werden? for (auto elem : container)oder for (auto& elem : container)oder for (const auto& elem : container)? Oder irgendein
Ist es möglich, eine Lambda-Funktion als Funktionszeiger zu übergeben? Wenn ja, muss ich etwas falsch machen, weil ich einen Kompilierungsfehler erhalte. Betrachten Sie das folgende Beispiel using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private:...
Eclipse 3.7.1 CDT 1.4.1 GCC 4.6.2 Dies ist ein Beispiel für einen Teil des C ++ 11-Codes: auto text = std::unique_ptr<char[]>(new char[len]); Der Eclipse-Editor beschwert sich über: Function 'unique_ptr' could not be resolved Die Makefile-Kompilierung funktioniert einwandfrei. Wie kann...
Es wird manchmal behauptet, dass C ++ 11/14 Ihnen eine Leistungssteigerung bringen kann, selbst wenn Sie lediglich C ++ 98-Code kompilieren. Die Begründung erfolgt normalerweise in Anlehnung an die Bewegungssemantik, da in einigen Fällen die rvalue-Konstruktoren automatisch generiert werden oder...
Jeder Standard - Container hat ein beginund endVerfahren für Iteratoren für diesen Behälter zurückkehrt. C ++ 11 hat jedoch anscheinend freie Funktionen eingeführt, die aufgerufen werden std::beginund std::enddie die Funktionen beginund endmember aufrufen . Also anstatt zu schreiben auto i =...
Soll dies das Beispiel sein: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Es wirft den Fehler: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined...
Warum hat die Umkehrfunktion für die std::listKlasse in der C ++ - Standardbibliothek eine lineare Laufzeit? Ich würde denken, dass für doppelt verknüpfte Listen die Umkehrfunktion O (1) gewesen sein sollte. Das Umkehren einer doppelt verknüpften Liste sollte nur das Umschalten der Kopf- und...
Wenn ich eine Variable in einer Funktion habe (z. B. ein großes Array), ist es sinnvoll, beide staticund zu deklarieren constexpr? constexprgarantiert, dass das Array zur Kompilierungszeit erstellt wird, wäre das staticalso nutzlos? void f() { static constexpr int x [] = { // a few thousand...
Mit dem neuen Standard gibt es neue Wege, Dinge zu tun, und viele sind schöner als die alten Wege, aber der alte Weg ist immer noch in Ordnung. Es ist auch klar, dass der neue Standard aus Gründen der Abwärtskompatibilität offiziell nicht sehr abwertet. Die Frage bleibt also: Welche alten...
Ich habe meine C ++ - Kenntnisse vor einigen Jahren ins Regal gestellt und es scheint, dass sich die Landschaft geändert hat, wenn ich sie jetzt wieder brauche. Wir haben jetzt C ++ 11 und ich verstehe, dass es viele Boost-Funktionen überlappt. Gibt es eine Zusammenfassung, wo diese...
[dcl.attr.noreturn] bietet das folgende Beispiel: [[ noreturn ]] void f() { throw "error"; // OK } aber ich verstehe nicht, worum es geht [[noreturn]], weil der Rückgabetyp der Funktion bereits ist void. Was ist der Sinn des noreturnAttributs? Wie soll es verwendet
Ich frage mich warum cbeginund cendwurden in C ++ 11 eingeführt? Was sind Fälle, in denen der Aufruf dieser Methoden einen Unterschied zu konstanten Überladungen von beginund macht
Ich habe diesen Code, der nicht funktioniert, aber ich denke, die Absicht ist klar: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A...
Mit dem neuen Standard (und Teilen, die bereits in einigen Compilern verfügbar sind) soll der neue Typ std::unique_ptrein Ersatz für sein std::auto_ptr. Überlappt sich ihre Verwendung genau (damit ich meinen Code global suchen / ersetzen kann (nicht, dass ich dies tun würde, aber wenn ich es tun...
Was sind die Gründe für die Existenz von std::decay? In welchen Situationen ist das
Ich möchte ein static const charArray in meiner Klasse haben. GCC beschwerte sich und sagte mir, ich solle es verwenden constexpr, obwohl es mir jetzt sagt, dass es eine undefinierte Referenz ist. Wenn ich das Array zu einem Nichtmitglied mache, wird es kompiliert. Was ist los? // .hpp struct foo...
Ich habe gelesen und gehört, dass C ++ 11 Unicode unterstützt. Ein paar Fragen dazu: Wie gut unterstützt die C ++ - Standardbibliothek Unicode? Tut std::stringwas es soll? Wie benutze ich es? Wo liegen mögliche Probleme?
Diese Antwort von @R. Martinho Fernandes zeigt, dass die Safe-Bool-Sprache in C ++ 11 anscheinend veraltet ist, da sie durch eine einfache ersetzt werden kann explicit operator bool() const; gemäß dem Standardzitat in der Antwort §4 [conv] p3: Ein Ausdruck e kann für eine erfundene temporäre...
Wie entferne ich eine Karte, während ich sie iteriere? mögen: std::map<K, V> map; for(auto i : map) if(needs_removing(i)) // remove it from the map Wenn ich es benutze map.erase, werden die Iteratoren
Unter Verwendung von C ++ 11, Ubuntu 14.04, GCC Standard-Toolchain . Dieser Code schlägt fehl: constexpr std::string constString = "constString"; Fehler: Der Typ 'const string {aka const std :: basic_string}' der constexpr-Variablen 'constString' ist nicht wörtlich ... weil ... 'std ::...