Mi sto cacciando con C++ e c'è una funzione linguistica che ho problemi particolari a farmi girare la testa.Variabili costruite in modo implicito in C++
Sono abituato a dichiarare e inizializzare una variabile in modo esplicito, ma in C++ a volte sembriamo dichiarare e costruire implicitamente una variabile.
Ad esempio in questo snippet rdev sembra essere costruito implicitamente (come viene successivamente utilizzato per costruire un default_random_engine);
random_device rdev;
default_random_engine gen(rdev());
Qualcuno può spiegare cosa sta succedendo qui? Come posso distinguerlo da una semplice dichiarazione come int myInt;
?
Tutte ottime risposte, grazie. Ho accettato la risposta di @ Puppy in quanto ha spiegato perché int è leggermente diverso usando belle parole facili;), ma anche i dettagli tecnici nelle altre risposte sono molto utili. – Giswok