I modelli sono piacevoli per algoritmi simili di diversi tipi di dati. Supponiamo che crei uno stack modello di un tipo di dati di base ...
Stack<int> stck(10);
stck.Push(5);
Lo popò ...
int x = stck.Pop();
x sarebbe 5. Se chiamo di nuovo pop, non ci sono elementi, quindi ho il metodo solo per restituire 0 per null. Potrebbe essere qualcos'altro, ma qualunque cosa.
Ma ora, se cambio il tipo di template in una variabile composta (un tipo di struttura - diciamo, RECT), e lo stack è vuoto, non può restituire 0. Si aspetta un tipo RECT, ma non lo faccio ne hai lasciato. Come faccio a fare questo lavoro per i tipi di dati di base e le variabili composte? Eccezioni?