Domande taggate «perfect-forwarding»


6
Quali sono gli scopi principali dell'uso di std :: forward e quali problemi risolve?
In perfetto inoltro, std::forwardviene utilizzato per convertire i riferimenti rvalue nominati t1e t2in riferimenti rvalue senza nome. Qual è lo scopo di farlo? In che modo ciò influirebbe sulla funzione chiamata innerse lasciamo t1e t2come valori? template <typename T1, typename T2> void outer(T1&& t1, T2&& t2) { inner(std::forward<T1>(t1), std::forward<T2>(t2)); }

6
make_unique e perfetto inoltro
Perché non esiste un std::make_uniquemodello di funzione nella libreria C ++ 11 standard? io trovo std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); un po 'prolisso. Quanto segue non sarebbe molto più bello? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Questo nasconde newbene e menziona il tipo solo una volta. Ad ogni modo, ecco …



1
Posso inizializzare la lista std :: vector con un perfetto inoltro degli elementi?
Ho notato che l' inizializzazione dell'elenco aggregato di std :: vector esegue l' inizializzazione della copia quando lo spostamento è più applicabile. Allo stesso tempo, più emplace_backs fanno quello che voglio. Potrei solo trovare questa soluzione imperfetta di scrivere una funzione modello init_emplace_vector. Tuttavia, è ottimale solo per costruttori non …
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.