相关疑难解决方法(0)

为什么从C++ 11中删除了std :: pow(double,int)?

在研究计算p ^ q(指数)的有效方法时,其中q是一个整数并且回顾了C++ 98和C++ 11标准,我注意到std::pow(double, int)在C++ 11 中显然已经消除了重载.

在C++ 98 26.5/6中它有double pow(double, int);签名.

在C++ 11 26.8所有我能找到的是重载采取一对float,double或者long double和一个明确的注意,在参数类型积分和双重的混合物的情况下,在pow(double, double)过载应挑选.

这只是对前一个意图的澄清,如果它们在C++ 98中被错误地添加了,它们是否真的在C++ 11中删除了,还是别的?

显然,该pow(double, int)版本提供了一个很好的优化机会,所以它们被删除似乎很奇怪.编译器是否仍然符合标准以提供这样的优化过载?

c++ c++-standard-library c++11

63
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

c++-standard-library ×1

c++11 ×1