首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数在没有任何数学库的情况下工作。

函数在没有任何数学库的情况下工作。
EN

Stack Overflow用户
提问于 2016-04-12 14:02:26
回答 2查看 801关注 0票数 6

在一些软件/编译器上,pow()函数似乎完全不需要任何数学库。只对<iostream>。但在另一些情况下,它会抱怨。数学函数是否被添加到<iostream>库或其他地方?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-12 14:15:11

标题可以--而且经常包括--包括其他标头。标准库头也不例外。

即使您选择不包含所依赖的标题(让我们将其命名为a),但该标头可能恰好包含在您所包含的另一个标头中(让我们命名为b)。在这种情况下,如果b头被修改为不包含a,则不能保证程序继续工作。这就是为什么您必须始终包含您所依赖的所有标头--即使您的程序似乎没有包含其中的一些标题也是如此。

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

票数 4
EN

Stack Overflow用户

发布于 2016-04-12 14:18:01

正如在这里明确指出的,pow在cmath中。http://www.cplusplus.com/reference/cmath/pow/

<iostream>中包含的是什么,刚刚检查了当前版本的GCC(我正在使用archlinux,所以它是最新的),没有在iostream的任何内部包含中包含cmath。

无论如何,即使它有效,也是违反标准的。显式地包含<cmath>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36575614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档