English version Su Twitter, qualche settimana fa, è comparsa quest’immagine: Si tratta di C#, ma possiamo facilmente riscriverla in C++ (e lo faremo, tra poco). Nelle risposte a questo tweet, molti deridevano il codice, o si lamentavano dell’uso di “numeri magici”, mentre altri ancora discutevano dell’eccessiva lunghezza (implicando un costo di mantenimento proporzionale al numero …
Continue reading Il Signor 10 PalleCome affrontare il colloquio tecnico di programmazione? Vediamone un esempio.
Continue reading Il colloquio tecnico di programmazioneQuesto articolo è la traduzione di un mio post del 2016 intitolato Optimizing return values. Il problema Abbiamo una vecchia classe, scritta in un dialetto C++ pre-C++11: La class C contiene un metodo get() che ritorna un riferimento ad uno stato interno. Nel nostro codice dobbiamo fare attenzione a non usare questo riferimento dopo che …
Continue reading Ottimizzare i valori di ritornoQuesto articolo è la traduzione di un mio post del 2016 intitolato The power of devirtualization. La devirtualizzazione accade quando il compilatore può decidere a tempo di compilazione quale funzione chiamare, e quindi produrre una chiamata diretta (al posto di una indiretta), o addirittura mettere il codice in linea ed evitare la chiamata. Questo accade …
Continue reading La Devirtualizzazione in C++