C++:cmath里数学函数前面是否应该有std::

C++:cmath里数学函数前面是否应该有std::就比如说这个程序里的floor前面就没有std::要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正... C++:cmath里数学函数前面是否应该有std::
就比如说这个程序里的floor前面就没有std::
要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正常运行,这是为什么啊?
另外,请问C++ cmath里数学函数前面有无std::是否有什么区别?
展开
铁拳蔡文姬
2011-11-22 · TA获得超过149个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:122万
展开全部
cmath这个库比较特殊,如果你看过P.J. Plauger写的cmath文件就会发现用的其实还是math.h,只不过已经用using语句打了个包,所以如果是cmath的话,都不需要加std前缀就可以使用,加了也不会有任何区别(如果你没有自己重载过里面的函数的话)。

iostream则不同,一般用以下三种调用方式
1. 如果打算全用STL的namespace,那就在前面加上
#include <iostream>
using namespace std;

这样再调用就可以不加std::

2. 只对某个函数声明,比如要用cin函数
#include <iostream>
using std::cin;

这样也可以不用std:: 前缀

3. 只包含头文件,调用函数时都加上std::前缀,就是你提到的情况
张亮xl
2011-11-21 · TA获得超过1031个赞
知道答主
回答量:234
采纳率:0%
帮助的人:167万
展开全部
不用,c++里面在头文件下面加上一句using namespace std;就可以基本上不用::std了,还有用::std的情况你短时间内是不会学到的。希望对你有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wqzhishou
2011-11-21 · TA获得超过190个赞
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:102万
展开全部
<math.h>不用std,但<cmath>必须要用。当你用了using指令,将std扩展为全局作用域时就可以不加std了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无助得等待
2011-11-22
知道答主
回答量:5
采纳率:0%
帮助的人:3.5万
展开全部
没有,只要你在头文件#include<iostream>下面加上using namespace std;即可,就不需要std::了,using namespace std是命名空间。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式