Nel mio ultimo post si è parlato di Generics. Tra i commnenti Vincenzo Foggia chiedeva quali sono le differenze rispetto ai Template del C++.
La differenza, sebbene poco visibile al programmatore, c'è.
In C++ una classe template viene convertita nella rispettiva classe che opera sul tipo usato come parametro durante la compilazione. In pratica tutte le occorrenze di Stack vengono convertite dal compilatore effettuando di fatto una sostituzione nel codice.
In C# invece i tipi generics vengono gestiti durante l'esecuzione, quando il jitter si trova a dover eseguire una classe Stack crea la classe stack che opera sul tipo int in...