Spesso ho la situazione in cui ho bisogno di più costanti generate in fase di compilazione per l'utilizzo delle operazioni di spostamento dei bit e di mascheramento.Operazioni matematiche durante la preelaborazione del compilatore
ad es.
#define blockbits 8
#define blocksize 256 // could be generated from 2^blockbits
#define blocksize 0xFF // could be generated from blocksize - 1
vorrei che tutti questi per essere generati da blockbits
, tuttavia non v'è alcuna operazione di potere che può essere utilizzato nel preprocessore che io sono a conoscenza.
Qualcuno sa un modo semplice per generare questo tipo di cose in fase di compilazione?
"tuttavia non esiste alcuna operazione di alimentazione che possa essere utilizzata nel preprocessore di cui sono a conoscenza." - Davvero? per quanto riguarda il bit shift? –
BTW che stiamo parlando di C++, una buona ragione per '# define' invece di costanti? – Kos
Non è questo un lavoro per 'constexpr'? – DavidO