C++:cmath里数学函数前面是否应该有std::
C++:cmath里数学函数前面是否应该有std::就比如说这个程序里的floor前面就没有std::要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正...
C++:cmath里数学函数前面是否应该有std::
就比如说这个程序里的floor前面就没有std::
要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正常运行,这是为什么啊?
另外,请问C++ cmath里数学函数前面有无std::是否有什么区别? 展开
就比如说这个程序里的floor前面就没有std::
要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正常运行,这是为什么啊?
另外,请问C++ cmath里数学函数前面有无std::是否有什么区别? 展开
4个回答
展开全部
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::前缀,就是你提到的情况
iostream则不同,一般用以下三种调用方式
1. 如果打算全用STL的namespace,那就在前面加上
#include <iostream>
using namespace std;
这样再调用就可以不加std::
2. 只对某个函数声明,比如要用cin函数
#include <iostream>
using std::cin;
这样也可以不用std:: 前缀
3. 只包含头文件,调用函数时都加上std::前缀,就是你提到的情况
展开全部
不用,c++里面在头文件下面加上一句using namespace std;就可以基本上不用::std了,还有用::std的情况你短时间内是不会学到的。希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<math.h>不用std,但<cmath>必须要用。当你用了using指令,将std扩展为全局作用域时就可以不加std了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有,只要你在头文件#include<iostream>下面加上using namespace std;即可,就不需要std::了,using namespace std是命名空间。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询