pow()函数在没有任何数学库的情况下工作

Yel*_*aYR 5 c++ math libraries pow

似乎在一些软件/编译器上,该pow()功能可以在没有任何数学库的情况下工作.只有<iostream>.但在其他人抱怨.数学函数是否已添加到<iostream>库或其他地方?

eer*_*ika 4

Headers can - and often do - include other headers. Standard library headers are no exception to this.

即使您选择不包含a您所依赖的标头(让我们命名它),该标头也可能碰巧被b您确实包含的另一个标头(让我们命名它)包含。在这种情况下,如果标头b被修改为不包含a. 这就是为什么您必须始终包含您所依赖的所有标头 - 即使您的程序看起来可以在不包含其中某些标头的情况下工作。

标准库的不同实现的所有不同版本都是不同的,因此a在一个版本中可以包含b,而a在另一版本中也可以不包含b。这同样适用于具有多个实现版本的所有 API。