durante il gioco e cercando di calcolare la dimensione totale del vettore ho provato qualcosa di similePosso usare value_type su un'istanza del vettore, non sul suo tipo
vector<double> vd;
auto area = vd.size()* sizeof (vd::value_type);
//Ive seen Stepanov use area as name for this kind of size, idk if he adds the sizeof vd also to area :)
Purtroppo questo non funziona ... ho bisogno di utilizzare vector<double>::value_type
ma ciò rende il codice meno leggibile. Può essere fatto funzionare? Non mi piace sizeof vd.front()
perché sembra brutto scrivere front()
per questo.
EDIT: decltype varianti anche in forma in quella che chiamerei brutto categoria ...
argomento di sizeof non viene valutato nel modo in cui si suggerisce - pensate in questo modo: compilatore guarda a ciò che 'vd.front 'restituisce e applica sizeof a quel tipo, non vi è alcuna chiamata di funzione che si verifica qui. – Fiktik
leggi quello che ho detto ... so che la dimensione è il tempo di compilazione ... solo .front() è brutto perché non segnala l'intento ... potrebbe essere .back() [.size() - 1]. .. – NoSenseEtAl
mi scuso per la parolaccia ... sostituito "call" con "write" è facile scrivere una cosa mentre si pensa qualcos'altro ...:/ – NoSenseEtAl