pax*_*blo 12
直到C++ 11,powf才是微软主义.它根本没有出现在ISO标准中,因此不太可能出现在XCode中,除非它们要适应微软奇怪的做法,我认为不太可能.
pow另一方面,由于它是在C库的早期迭代中并入C++ pre-11的事实,因此已经成为C++库的一部分.改用它.
从C++ 11开始,powf 它确实出现在ISO标准中并且是std命名空间的一部分.
然而,存在不符合的实现,例如,gcc libstdc ++.本摘录中的更多资源来自cppreference talk page中的讨论:
上面发布的答案在C++ 11之前是正确的,因为C++ 98/03尚未引用C99库.根据当前标准,
powf在std包含的名称空间中声明(在C++ 17中明确提到,在C++ 11/14中隐式提到,另请参阅N4659,N4140和N3337).因为std::powf,当libc ++是clang时,gcc libstdc ++不兼容.--Fruderica(talk)03:49,2019年2月19日(太平洋标准时间)另见,更新,SO回答:https: //stackoverflow.com/a/54735351 --Cubbi(talk)08:10,2019年2月19日(太平洋标准时间)