Als «c++14» getaggte Fragen

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.

2
Wie implementiere ich klassische Sortieralgorithmen in modernem C ++?
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 …

2
Kann modernes C ++ Ihnen Leistung kostenlos bringen?
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 …


8
Lambda-Erfassung als konstante Referenz?
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 …
166 c++  c++11  lambda  c++14 

2
Was sind einige Verwendungen von decltype (auto)?
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 …

2
Wie funktioniert `void_t`?
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, …
148 c++  templates  c++14  sfinae 


2
Ist #pragma einmal Teil des C ++ 11-Standards?
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 …

1
Zuordnung kopieren / verschieben in std :: vector :: erase () und std :: deque :: erase ()
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 …


3
Wie funktioniert generisches Lambda in C ++ 14?
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 …
113 c++  lambda  auto  c++14 

13
Wie kann ich mit C ++ "for" -Schleifen mit einer "if" -Bedingung vermeiden?
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 …
111 c++  c++11  c++14 

4
Was sind transparente Komparatoren?
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 …
106 c++  c++14  c++-faq 

3
Fügt C ++ 14 C ++ neue Schlüsselwörter hinzu?
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?
103 c++  c++11  keyword  c++14 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.