In C++ 11 è std::sqrt
definito come constexpr
, ovvero può essere utilizzato legalmente da altre funzioni constexpr
o in contesti di compilazione come dimensioni di matrice o argomenti del modello? g ++ sembra consentirlo (usando -std=c++0x
), ma non sono sicuro di poterlo considerare autorevole dato che il supporto per C++ 0x/C++ 11 è ancora incompleto. Il fatto che non riesca a trovare nulla su Internet mi rende insicuro.In C++ 11 è sqrt definito come constexpr?
Sembra che questo dovrebbe essere qualcosa che si potrebbe facilmente trovare usando Google, ma ho provato (per 40 minuti ora ...) e non ho trovato nulla. Ho potuto trovare diverse proposte per aggiungere constexpr a varie parti della libreria standard (come ad esempio this one), ma nulla su sqrt
o altre funzioni matematiche.
È esplicitamente indicato? 26.La libreria 8 C non fa riferimento a constexpr. Un'implementazione sarebbe sicuramente conforme se fornisse implementazioni della funzione constexpr oltre a quelle senza. – user2023370
@ user643722: un'implementazione di libreria standard * potrebbe * definire una versione 'constexpr'. Ma non è * obbligatorio * farlo, e quindi non puoi davvero fare affidamento su di esso. –