C++:cmath里数学函数前面是不是应该有std::
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++:cmath里数学函数前面是不是应该有std::相关的知识,希望对你有一定的参考价值。
C++:cmath里数学函数前面是否应该有std::
就比如说这个程序里的floor前面就没有std::
要是一般的cin前没有std::那可是不行的啊!!!可是这里却还能正常运行,这是为什么啊?
另外,请问C++ cmath里数学函数前面有无std::是否有什么区别?
iostream则不同,一般用以下三种调用方式
1. 如果打算全用STL的namespace,那就在前面加上
#include <iostream>
using namespace std;
这样再调用就可以不加std::
2. 只对某个函数声明,比如要用cin函数
#include <iostream>
using std::cin;
这样也可以不用std:: 前缀
3. 只包含头文件,调用函数时都加上std::前缀,就是你提到的情况 参考技术A 不用,c++里面在头文件下面加上一句using namespace std;就可以基本上不用::std了,还有用::std的情况你短时间内是不会学到的。希望对你有所帮助。 参考技术B <math.h>不用std,但<cmath>必须要用。当你用了using指令,将std扩展为全局作用域时就可以不加std了 参考技术C 没有,只要你在头文件#include<iostream>下面加上using namespace std;即可,就不需要std::了,using namespace std是命名空间。。。
C++中的cmath头文件
问问各位大侠,在VC中#include<cmath>头文件在什么情况下调用,和具体有什么要求,谢谢了。
小弟不胜感激!!!
不过推荐的是使用#include,而且必须声明在std命名空间:using namespace std;其中的函数和使用方法几乎完全相同。
VC里面是math.h,cmath是c++标准风格的头文件,位于std命名空间,用法和math.h差不多,都是包含一些常见的数学函数,比如平方、正余弦等等 参考技术A 按命名规则,cmath 应该是math.h的C++版,什么时候用math.h就什么时候用cmath替代。一般是要用到常用的数学函数时调用,比如abs(),sin()等。 参考技术B VC里面是math.h,cmath是c++标准风格的头文件,位于std命名空间,用法和math.h差不多,都是包含一些常见的数学函数,比如平方、正余弦等等
具体参考:http://www.ggv.com.cn/forum/clib/clib.html本回答被提问者采纳 参考技术C 回答
1. ceil()向上取整2. round()四舍五入取整,3. floor()向下取整且以上所有参数必须为double型4.取整与取余double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分double fmod (double,double); 返回两参数相除的余数绝对值1. int abs(int );求整型的绝对值2. double fabs (double);求实型的绝对值3. double cabs(complex);求复数的绝对值三角函数1、 三角函数double sin(double);正弦double cos(double);余弦double tan(double);正切2 、反三角函数double asin (double); 结果介于[-PI/2,PI/2]double acos (double); 结果介于[0,PI]double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]3 、双曲三角函数double sinh (double);double cosh (double);double tanh (double);没有现成的cot三角函数,可以使用tan(PI/2-x)来实现指数与对数double frexp(double value,int exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f2^exp。其中f取值在0.5~1.0范围或者0。double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^expdouble modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。double log (double); 以e为底的对数double log10 (double);以10为底的对数double pow(double x,double y);计算x的y次幂fl
以上是关于C++:cmath里数学函数前面是不是应该有std::的主要内容,如果未能解决你的问题,请参考以下文章