Domande taggate «c++17»

C ++ 17 è il nome dello standard C ++ approvato nel 2017. Si basa sul precedente standard C ++ 14, migliorando il linguaggio principale e la libreria standard e aggiungendo alcune nuove funzionalità linguistiche.


6
Perché usare std :: make_unique in C ++ 17?
Per quanto ho capito, C ++ 14 è stato introdotto std::make_uniqueperché, a causa della mancata specificazione dell'ordine di valutazione dei parametri, questo non era sicuro: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Spiegazione: se la valutazione alloca prima la memoria per il puntatore non elaborato, quindi chiama g()e viene generata un'eccezione …
96 c++  c++17  unique-ptr 

4
errore del linker sperimentale :: filesystem
Cerco di utilizzare le nuove funzionalità di c ++ 1z attualmente in testa allo sviluppo all'interno di gcc 6.0. Se provo questo piccolo esempio: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit"; std::cout << "p1 = " << p1 << std::endl; } Ho …
95 c++  gcc  c++17 


1
Come funziona l'elisione della copia garantita?
In occasione della riunione 2016 degli standard ISO C ++ di Oulu, una proposta denominata Eliminazione della copia garantita tramite categorie di valori semplificate è stata votata in C ++ 17 dal comitato degli standard. Come funziona esattamente l'elisione della copia garantita? Copre alcuni casi in cui l'elisione della copia …

4
Le funzionalità sperimentali del C ++ moderno sono affidabili per progetti a lungo termine?
Ho un progetto che attualmente utilizza C ++ 11/14, ma richiede qualcosa di simile std::filesystem, che è disponibile solo in C ++ 17, e quindi non ho la possibilità di usarlo attualmente. Vedo, tuttavia, che è disponibile nel mio compilatore attuale come std::experimental::filesystem. È una buona idea utilizzare funzionalità sperimentali, …




2
Perché remove_reference non funziona con le funzioni?
Mi sono imbattuto in qualcosa di strano quando ho fatto un modello di metaprogrammazione l'altro giorno. Fondamentalmente si riduce a questa affermazione non (come mi aspetterei) che passi. static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>); All'inizio pensavo di commettere un errore sintattico nel definire un riferimento di funzione, ma questa affermazione passa, dimostrando che non …
38 c++  templates  types  c++17 





3
Come posso creare un modo cartesiano di elenchi di tipi in C ++?
Autoesplicativo. Fondamentalmente, dire che ho elenchi di tipi in questo modo: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; Possono essere un numero variabile di elenchi di tipi. Come posso ottenere una lista dei tipi di prodotti cartesiani? result = type_list< type_list<int, somestructB, double>, …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.