C ++ 14 è il nome dello standard C ++, approvato nel 2014. Si basa sul precedente standard C ++ 11, migliorando il linguaggio di base e la libreria standard e aggiungendo alcune funzionalità.
L' std::sortalgoritmo (e i suoi cugini std::partial_sorte std::nth_element) della libreria standard C ++ è nella maggior parte delle implementazioni una fusione complicata e ibrida di algoritmi di ordinamento più elementari , come ordinamento di selezione, ordinamento di inserimento, ordinamento rapido, ordinamento unito o ordinamento heap. Ci sono molte domande qui …
A volte si afferma che C ++ 11/14 può offrirti un aumento delle prestazioni anche quando si compila semplicemente il codice C ++ 98. La giustificazione è di solito lungo le linee della semantica dello spostamento, poiché in alcuni casi i costruttori di valori vengono generati automaticamente o ora fanno …
C'è un problema piuttosto sciocco con il numero pi in C e C ++. Per quanto ne so M_PIdefinito in math.hnon è richiesto da nessuno standard. I nuovi standard C ++ hanno introdotto un sacco di complicate matematiche nella libreria standard: funzioni iperboliche std::hermitee std::cyl_bessel_idiversi generatori di numeri casuali e …
È possibile catturare per riferimento const in un'espressione lambda? Voglio che il compito indicato di seguito fallisca, ad esempio: #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 = "foo"; …
Altre versioni di Stack Overflow di Stack Overflow : Versione decltype (auto) In c ++ 14 decltype(auto)viene introdotto il linguaggio. In genere il suo uso è consentireautodecltype alle dichiarazioni di usare le regole sull'espressione data . Cercando esempi di "buon" uso del linguaggio posso solo pensare a cose come le …
Ho visto il discorso di Walter Brown a Cppcon14 sulla programmazione di modelli moderni ( Parte I , Parte II ) in cui ha presentato la sua void_ttecnica SFINAE. Esempio: dato un semplice modello variabile che valuta voidse tutti gli argomenti del modello sono ben formati: template< class ... > …
Con GCC 4.8.0 rilasciato, abbiamo un compilatore che supporta la deduzione automatica del tipo di ritorno, parte di C ++ 14. Con -std=c++1y, posso fare questo: auto foo() { //deduced to be int return 5; } La mia domanda è: quando dovrei usare questa funzione? Quando è necessario e quando …
Tradizionalmente, il modo standard e portatile per evitare inclusioni multiple di intestazione in C ++ era / è quello di utilizzare lo #ifndef - #define - #endifschema di direttive pre-compilatore chiamato anche schema di macro-guardia (vedi frammento di codice sotto). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Nella maggior parte delle …
Nel rispondere a un'altra domanda mi sono imbattuto in formulazioni leggermente diverse per std::vector::erase()e std::deque::erase(). Questo è ciò che dice C ++ 14 std::deque::erase( [deque.modifiers]/4-6, l'enfasi è mia): Effetti: ... Complessità: il numero di chiamate al distruttore è uguale al numero di elementi cancellati, ma il numero di chiamate all'operatore …
Ha std::make_uniquedei vantaggi in termini di efficienza come std::make_shared? Rispetto alla costruzione manuale std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
Come funziona lambda generico ( autoparola chiave come tipo di argomento) nello standard C ++ 14? È basato su modelli C ++ in cui per ogni diverso tipo di argomento il compilatore genera una nuova funzione con lo stesso corpo ma tipi sostituiti (polimorfismo in fase di compilazione) o è …
Con quasi tutto il codice che scrivo, spesso ho a che fare con problemi di riduzione dei set su raccolte che alla fine si ritrovano con ingenue condizioni "se" al loro interno. Ecco un semplice esempio: for(int i=0; i<myCollection.size(); i++) { if (myCollection[i] == SOMETHING) { DoStuff(); } } Con …
In C ++ 14, i contenitori associativi sembrano essere cambiati da C ++ 11 - [associative.reqmts] / 13 dice: I modelli funzione membro find, count, lower_bound, upper_bound, e equal_rangenon devono partecipare alla risoluzione di sovraccarico a meno che il tipo Compare::is_transparentesiste. Qual è lo scopo di rendere "trasparente" un comparatore? …
Il Comitato per gli standard C ++ tende a evitare di aggiungere nuove parole chiave al linguaggio, ma con C ++ 11 non è stato così. Qualche esempio: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Sono state introdotte nuove parole chiave con C ++ 14?
c ++ 14 ha introdotto lambda generici che hanno permesso di scrivere quanto segue: auto func = [](auto a, auto b){ return a + b; }; auto Foo = func(2, 5); auto Bar = func("hello", "world"); È molto chiaro che questo lambda generico funcfunziona proprio come funzionerebbe una funzione basata …
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.