First of all, grazie mille per l'attenzione shodan.
Allora effettivamente il tuo punto di vista è ragionevolissimo (in effetti il vector è restrittivo e alla lista si potrebbero aggiungere mappe e chissà cos'altro).
Prendo spunto per ripassarmi il concetto delle funzioni inline.
I functors in effetti sono entità che dovrei imparare a maneggiare con più disinvoltura.
Da quel che vedo quindi l'approccio (che mi piace molto) è del tipo: fai quello che devi aggiungendo il meno possibile per lavorare su oggetti standard che hanno già metodi ottimi e pensanti per lavorare efficacemente.
Cmq quest'indizio mi sembra meno soggettivo: mi confermi che ti sembra buona norma (potremmo prenderla come regola generale per l'apprendista programmatore) utilizzare solo gli iteratori, functors o metodi di una determinata interfaccia standard per "smanettarci su" senza inventarsi altro (o meglio, cercare di produrre codice che aggiunga il minimo indispensabile a ciò che può essere fatto attraverso questi sull'oggetto relativo)?
Impostando in questo senso il lavoro di riflesso gli oggetti che si vanno a scrivere dovrebbero essere più generici.
Mi riferisco ad esmpio al fatto che ti sei preoccupato solo della realizzazione della r.v. lasciando poi ai metodi del contenitor scelto il resto del lavoro.
Grazie mille davvero, i prox esercizi saranno sull'overload di operator e sulle gerarchie, spero di inquadrare meglio il tuo codice che così a colpo d'occhio non mi sarebbe mai venuto in mente di scrivere...stiamo a vedere...Ciao shodan e grazie ancora.