C ++ 14 ist der Name des 2014 genehmigten C ++ - Standards. Er baut auf dem vorherigen C ++ 11-Standard auf, verbessert die Kernsprache und die Standardbibliothek und fügt einige Funktionen hinzu.
Der std::sortAlgorithmus (und seine Verwandten std::partial_sortund std::nth_element) aus der C ++ - Standardbibliothek ist in den meisten Implementierungen eine komplizierte und hybride Zusammenführung elementarerer Sortieralgorithmen wie Auswahlsortierung, Einfügesortierung, Schnellsortierung, Zusammenführungssortierung oder Heap-Sortierung. Hier und auf Schwesterseiten wie https://codereview.stackexchange.com/ gibt es viele Fragen zu Fehlern, Komplexität und anderen Aspekten der Implementierung …
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 jetzt Teil der STL sind. Jetzt frage ich mich, ob …
Es gibt ein ziemlich dummes Problem mit der Zahl pi in C und C ++. Soweit ich weiß, ist die M_PIDefinition in math.hkeiner Norm erforderlich. Neue C ++ - Standards führten eine Menge komplizierter Mathematik in die Standardbibliothek ein - hyperbolische Funktionen std::hermiteund std::cyl_bessel_iverschiedene Zufallszahlengeneratoren und so weiter und so …
Ist es möglich, durch konstante Referenz in einem Lambda-Ausdruck zu erfassen? Ich möchte, dass die unten markierte Zuweisung fehlschlägt, zum Beispiel: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string …
Ackа этот вопрос есть ответы на Stapelüberlauf на русском : Конструкция decltype (auto) In c ++ 14 wird das decltype(auto)Idiom eingeführt. In der Regel wird verwendet, um autoDeklarationen die Verwendung der decltypeRegeln für den angegebenen Ausdruck zu ermöglichen . Auf der Suche nach Beispielen für die "gute" Verwendung des Idioms …
Ich habe Walter Browns Vortrag auf der Cppcon14 über moderne Vorlagenprogrammierung ( Teil I , Teil II ) gesehen, in dem er seine void_tSFINAE-Technik vorstellte. Beispiel: Bei einer einfachen Variablenvorlage, die bewertet, voidob alle Vorlagenargumente gut geformt sind: template< class ... > using void_t = void; und das folgende Merkmal, …
Mit GCC 4.8.0 haben wir einen Compiler, der den automatischen Rückzugstypabzug unterstützt und Teil von C ++ 14 ist. Mit -std=c++1ykann ich das machen: auto foo() { //deduced to be int return 5; } Meine Frage ist: Wann sollte ich diese Funktion verwenden? Wann ist es notwendig und wann wird …
Traditionell war / ist die standardmäßige und tragbare Methode zur Vermeidung mehrerer Header-Einschlüsse in C ++ die Verwendung des #ifndef - #define - #endifPre-Compiler-Direktiven-Schemas, das auch als Makro-Guard-Schema bezeichnet wird (siehe Code-Snippet unten). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif In den meisten Implementierungen / Compilern (siehe Bild unten) gibt es …
Bei der Beantwortung einer weiteren Frage bin ich auf leicht unterschiedliche Formulierungen für std::vector::erase()und gestoßen std::deque::erase(). Dies ist, was C ++ 14 über std::deque::erase( [deque.modifiers]/4-6, Hervorhebung von mir) sagt : Effekte: ... Komplexität: Die Anzahl der Aufrufe des Destruktors entspricht der Anzahl der gelöschten Elemente, aber die Anzahl der Aufrufe …
Hat std::make_uniqueirgendwelche Effizienzvorteile wie std::make_shared? Im Vergleich zum manuellen Erstellen std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
Wie funktioniert generisches Lambda ( autoSchlüsselwort als Argumenttyp) im C ++ 14-Standard? Basiert es auf C ++ - Vorlagen, bei denen der Compiler für jeden unterschiedlichen Argumenttyp eine neue Funktion mit demselben Text generiert, aber Typen ersetzt (Polymorphismus zur Kompilierungszeit), oder ähnelt er eher den Java-Generika (Typlöschung)? Codebeispiel: auto glambda …
Bei fast dem gesamten Code, den ich schreibe, habe ich häufig Probleme mit der Reduzierung von Sätzen in Sammlungen, die letztendlich zu naiven "Wenn" -Bedingungen führen. Hier ist ein einfaches Beispiel: for(int i=0; i<myCollection.size(); i++) { if (myCollection[i] == SOMETHING) { DoStuff(); } } Mit funktionalen Sprachen kann ich das …
In C ++ 14 scheinen sich assoziative Container von C ++ 11 geändert zu haben - [assoziativ.reqmts] / 13 sagt: Die Mitgliedsfunktionsschablonen find, count, lower_bound, upper_bound, und equal_rangedarf nicht in die Überladungsauflösung teilnehmen , es sei denn die Art Compare::is_transparentvorhanden ist . Was ist der Zweck, einen Komparator "transparent" zu …
Das C ++ - Standardkomitee scheut sich, der Sprache neue Schlüsselwörter hinzuzufügen, bei C ++ 11 war dies jedoch nicht der Fall. Einige Beispiele: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Gibt es neue Schlüsselwörter, die mit C ++ 14 eingeführt wurden?
c ++ 14 führte generische Lambdas ein, die es ermöglichten, Folgendes zu schreiben: auto func = [](auto a, auto b){ return a + b; }; auto Foo = func(2, 5); auto Bar = func("hello", "world"); Es ist sehr klar, dass dieses generische Lambda funcgenau so funktioniert, wie eine Vorlagenfunktion funktionieren …
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.