C ++ 11 ist der Name des 2011 genehmigten C ++ - Standards. Er ersetzt den vorherigen C ++ 03-Standard und fügt verschiedene Änderungen und Korrekturen der Kernsprache sowie eine verbesserte und erweiterte Standardbibliothek hinzu.
Angesichts einer sehr trivialen Funktion, int transform(int val) { return (val + 7) / 8; } Es sollte sehr offensichtlich sein, dass es einfach ist, diese Funktion in eine constexprFunktion umzuwandeln, sodass ich sie beim Definieren von constexprVariablen verwenden kann, wie z. constexpr int transform(int val) { return (val + …
Ich habe mich kürzlich gefragt, warum das Schlüsselwort autoin C ++ 11 gewählt wurde, um eine Variable zu markieren, deren Typ vom Compiler abgeleitet werden muss, wie in auto x = 1; Schon seit var scheint häufiger in anderen Programmiersprachen (z. B. C #, Scala, JavaScript) und Soweit ich die …
Was sind die Vor- / Nachteile der auto Schlüsselworts, insbesondere bei for-Schleifen? for(std::vector<T>::iterator it = x.begin(); it != x.end(); it++ ) { it->something(); } for(std::map<T>::iterator it = x.begin(); it != x.end(); it++ ) { it->second->something(); } for(auto it = x.begin(); it != x.end(); it++ ) { it->?? } Wenn Sie …
"Vorzeitige Optimierung ist die Wurzel allen Übels" Ich denke, wir können uns alle darauf einigen. Und ich bemühe mich sehr, das zu vermeiden. Aber in letzter Zeit habe ich mich gefragt, wie man Parameter nicht nach Wert, sondern nach Konstantenreferenz übergibt . Mir wurde beigebracht / beigebracht, dass nicht-triviale Funktionsargumente …
Geschlossen. Diese Frage ist nicht zum Thema . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Software Engineering Stapel Börse. Geschlossen vor 4 Jahren . Ich habe C ++ vor 8 bis 10 Jahren ausgiebig geschrieben. Ich bin …
Ich arbeite fast ausschließlich in C ++ 11/14 und erschaudere normalerweise, wenn ich Code wie diesen sehe: std::int64_t mArray; mArray |= someMask << 1; Dies ist nur ein Beispiel. Ich spreche von bitweiser Manipulation im Allgemeinen. Gibt es in C ++ wirklich irgendeinen Grund? Das oben Genannte ist irritierend und …
Der folgende Code sieht auf den ersten Blick ziemlich harmlos aus. Ein Benutzer verwendet die Funktion, bar()um mit einigen Bibliotheksfunktionen zu interagieren. (Möglicherweise hat dies sogar schon lange funktioniert, nachdem bar()ein Verweis auf einen nicht temporären Wert oder Ähnliches zurückgegeben wurde.) Jetzt wird jedoch einfach eine neue Instanz von zurückgegeben …
Ich weiß, dass dies eine umstrittene Praxis ist, aber nehmen wir an, dass dies die beste Option für mich ist. Ich frage mich, was ist die eigentliche Technik, um dies zu tun. Der Ansatz, den ich sehe, ist folgender: 1) Machen Sie eine Freundesklasse zu der Klasse, deren Methode ich …
Durchsuchen Sie diesen Artikel über die Sicherheit von Rusts Parallelität: http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html Ich habe mich gefragt, wie viele dieser Ideen in C ++ 11 (oder neuer) erreicht werden können. Kann ich insbesondere eine Besitzerklasse erstellen, die den Besitz auf eine beliebige Methode überträgt, an die er übergeben werden kann? Es scheint, …
Ich bin kürzlich auf die folgende Situation gestoßen. class A{ public: void calculate(T inputs); } Erstens Astellt es ein Objekt in der physischen Welt dar, was ein starkes Argument dafür ist, die Klasse nicht aufzuteilen. Nun calculate()stellt sich heraus, dass es eine ziemlich lange und komplizierte Funktion ist. Ich sehe …
Als ich vor langer Zeit C ++ lernte, wurde mir stark betont, dass ein Teil des Punktes von C ++ darin besteht, dass genau wie Schleifen "Schleifeninvarianten" haben, Klassen auch Invarianten, die mit der Lebensdauer des Objekts verbunden sind - Dinge, die wahr sein sollten solange das Objekt lebt. Dinge, …
Die meisten funktionalen Programmiersprachen (zB Common Lisp, Scheme / Schläger, Clojure, Haskell, Scala, Ocaml, SML) unterstützen einige gemeinsame Funktionen höherer Ordnung auf Listen, wie map, filter, takeWhile, dropWhile, foldl, foldr(siehe zB Common Lisp, Scheme / Schläger, Clojure Seite an Seite Referenzblatt , die Haskell- , Scala- , OCaml- und die …
Wir testen eine Bibliothek unter C ++ 11 (dh -std=c++11). Die Bibliothek verwendet auto_ptrund dieses Muster: Foo* GetFoo() { autoptr<Foo> ptr(new Foo); // Initialize Foo ptr->Initialize(...); // Now configure remaining attributes ptr->SomeSetting(...); return ptr.release(); } C ++ 11 ist veraltet auto_ptr, daher möchten wir uns davon entfernen. Der Code unterstützt …
Ich arbeite an einer großen Softwareanwendung, die auf mehreren Plattformen ausgeführt werden muss. Einige dieser Plattformen unterstützen einige Funktionen von C ++ 11 (z. B. MSVS 2010) und andere nicht (z. B. GCC 4.3.x). Ich gehe davon aus, dass diese Situation mehrere Jahre anhält (meine beste Schätzung: 3-5 Jahre). Vor …
Könnten ältere C ++ - Compiler (z. B. VS2008 und gcc3.4) Verbindungen zu externen Bibliotheken herstellen, die in C ++ 11 geschrieben wurden? Mein Gedanke ist, dass die C ++ 11 .lib-Dateien zu diesem Zeitpunkt nur Byte-Code sind und die älteren Compiler nicht stören sollten, wie sie generiert wurden, solange …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.