Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Frontespizio Copyright Indice Ringraziamenti Introduzione 1. Deduzione del tipo
Elemento 1 – La deduzione del tipo nei template
Caso 1 – ParamType è un riferimento o un puntatore, ma non un riferimento universale Caso 2 – ParamType è un riferimento universale Caso 3 – ParamType non è né un puntatore né un riferimento Argomenti array Argomenti funzione
Elemento 2 – La deduzione del tipo auto Elemento 3 – Come funziona decltype Elemento 4 – Come visualizzare i tipi dedotti
Editor IDE Diagnostiche di compilazione Output runtime
2. Il modificatore auto
Elemento 5 – Preferire auto alle dichiarazioni esplicite del tipo Elemento 6 – Uso di un inizializzatore di tipo esplicito quando auto deduce tipi indesiderati
3. Passare al C++ moderno
Elemento 7 – Distinguere fra () e {} nella creazione degli oggetti Elemento 8 – Preferire nullptr a 0 e NULL Elemento 9 – Preferire le dichiarazioni alias ai typedef Elemento 10 – Preferire gli enum con visibilità a quelli senza visibilità Elemento 11 – Preferire le funzioni “cancellate” a quelle private undefined Elemento 12 – Dichiarare con override le funzioni che lo richiedono Elemento 13 – Preferire i const_iterator agli iterator Elemento 14 – Dichiarare noexcept le funzioni che non emettono eccezioni Elemento 15 – Usare constexpr quando possibile Elemento 16 – Rendere sicure per i thread le funzioni membro const Elemento 17 – La generazione di funzioni membro speciali
4. I puntatori smart
Elemento 18 – Uso di std::unique_ptr per la gestione delle risorse a proprietà esclusiva Elemento 19 – Usare std::shared_ptr per la gestione delle risorse a proprietà condivisa Elemento 20 – Usare std::weak_ptr per puntatori di tipo std::shared_ptr che possono “pendere” Elemento 21 – Usare std::make_unique e std::make_shared per gestire l’uso di new Elemento 22 – Idioma Pimpl: definire speciali funzioni membro nel file di implementazione
5. Riferimenti rvalue, semantica di spostamento e perfect-forward
Elemento 23 – Parliamo di std::move e std::forward Elemento 24 – Distinguere i riferimenti universali e riferimenti rvalue Elemento 25 – Usare std::move sui riferimenti rvalue e std::forward sui riferimenti universali Elemento 26 – Evitare l’overloading sui riferimenti universali Elemento 27 – Alternative all’overloading per riferimenti universali
Abbandonare l’overloading Passaggio per const T& Passaggio per valore L’approccio tag dispatch Vincolare i template che accettano riferimenti universali Compromessi
Elemento 28 – Il collasso dei riferimenti Elemento 29 – Operazioni di spostamento: se non sono disponibili, economiche o utilizzate Elemento 30 – Casi problematici di perfect-forward
Inizializzatori a graffe 0 o Null come puntatori nulli Dati membro static const interi solo nella dichiarazione Nomi di funzioni overloaded e nomi template Campi bit Conclusioni
6. Le espressioni lambda
Elemento 31 – Evitare le modalità di cattura di default Elemento 32 – Usare la cattura iniziale per spostare gli oggetti nelle closure Elemento 33 – Usate decltype sui parametri auto&& per inoltrarli con std::forward Elemento 34 – Preferite le lambda a std::bind
7. L’API per la concorrenza
Elemento 35 – Preferire la programmazione basata a task piuttosto che basata a thread Elemento 36 – Specificare std::launch::async quando è essenziale l’asincronicità Elemento 37 – Rendere gli std::thread non joinable su tutti i percorsi Elemento 38 – Attenzione al comportamento variabile del distruttore dell’handle del thread Elemento 39 – Considerate l’uso di future void per la comunicazione di eventi “one-shot” Elemento 40 – Usare std::atomic per la concorrenza e volatile per la memoria speciale
8. Tecniche varie
Elemento 41 – Considerare il passaggio per valore per i parametri la cui copia è “poco costosa” e che pertanto vengono sempre copiati Elemento 42 – Impiegare l’emplacement al posto dell’inserimento
Indice analitico Informazioni sul Libro Circa l’autore
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion