Salve gente, stavo implementando una semplice classe lista giusto per capirne il funzionamento e mi sono imbattuto in un dubbio causato dalla grande confusione che faccio prendendo appunti a lezione.

Volevo semplicemente capire se il ragionamento che faccio è corretto, sostanzialmente ho una classe Elemento che contiene un valore e un puntatore all'elemento successivo, e ho una classe Lista che contiene due puntatori testa/coda ad Elemento.

Ho pensato di implementare un metodo aggiungiInCoda, vi riporto il codice

codice:
void Lista::aggiungiInCoda (int v)
{
	Elemento* tmp = new Elemento (v);

	if (coda)
		coda->succ = tmp;
	else
		testa = tmp;

	coda = tmp;
}
sostanzialmente crea un nuovo elemento, se la lista contiene già altri elementi sposta il successivo dell'ultimo elemento a tmp facendolo diventare l'ultimo elemento, il dubbio mi viene perché guardando il quaderno il mio coda = temp alla fine del metodo viene riportato nell'else dal professore, la domanda è: non devo comunque spostare la coda su tmp indipendentemente se la lista di partenza è vuota o contiene già qualche elemento?

Grazie in anticipo per il chiarimento!