Devo implementare fondamentalmente la stessa funzione ma per dimensioni diverse. In particolare esso è qualcosa di simile ...C++ Modo elegante per implementare l'assegnazione di un tipo diverso usando un metodo e senza preavviso?
type& operator=(unsigned int);
type& operator=(unsigned long int);
type& operator=(unsigned long long int);
type& operator=(int);
type& operator=(long int);
type& operator=(long long int);
type& operator=(short int);
//so on and so forth...
Hanno a che fare esattamente la stessa cosa ... (tranne i dovrebbe tener conto delle diverse dimensioni), l'idea principale sarebbe "se il tipo è la più ampia usa il codice per l'attività ... altrimenti esegui un casting ed esegui il codice ". È possibile evitare tutto questo codice ripetitivo utilizzando un solo metodo? (Non voglio che il compilatore mi lanci un avvertimento quando compilo ...).
Grazie
Assegnazione da tipi interi primitivi è problematico per vari motivi, ma se si deve farlo: hai provato solo l'attuazione delle sovraccarichi per 'intmax_t 'e' uintmax_t' (da '')? –
pmdj
Sì, sto usando cstdint, voglio solo evitare di scrivere tutto lo stesso codice ... in modo elegante ed efficiente. – user8469759