我在numeric
标题中找到了STL的power
,它在O(log(a))中计算power(TYPE T, Integer a)
,但是当我写完并用{{{{}}编译它时1}}它给了我编译错误并说g++
。为什么会这样?我知道编写在O(log(N)中计算的幂函数很容易买到我想知道C ++的标准库中是否有就绪函数。 C ++ 11标准中没有添加任何功能吗?
答案 0 :(得分:7)
从您链接的页面:
此功能是SGI扩展;它不是C ++标准的一部分。
虽然SGI文档通常很有帮助,但请注意它与标准有一些偏差。
答案 1 :(得分:7)
该功能在SGI的原始STL中,但不在标准库中。
在GNU库中,它在__gnu_cxx::power
中作为扩展名<ext/numeric>
提供。
答案 2 :(得分:5)
C ++ 11中没有std::power
或类似的算法。
答案 3 :(得分:2)
在<cmath>
标题中,标准数字类型有几个重载。您是否需要模板化版本?