В C++11 std::sqrt
определен как constexpr
, т.е. может ли он легально использоваться из других constexpr
функций или в контекстах времени компиляции, таких как размер массива или аргументы шаблона? g++ вроде бы разрешает это (используя -std=c++0x
), но я не уверен, что могу считать это авторитетным, учитывая, что поддержка c++0x/c++11 все еще не завершена. Тот факт, что я не могу ничего найти в Интернете, заставляет меня сомневаться.
Кажется, что это должно быть что-то, что можно легко найти с помощью Google, но я пытался (уже 40 минут...) и не смог ничего найти. Я смог найти несколько предложений по добавлению constexpr в различные части стандартной библиотеки (например, вот это), но ничего о sqrt
или других математических функциях.