
VC++2010 为什么我随时可以用RAND函数?不需要包含头文件stdlib.h 程序代码如下
程序代码如下#include<iostream>#include<time.h>//#include<cstdlib>usingnamespacestd;intmain(...
程序代码如下
#include <iostream>
#include <time.h>
//#include <cstdlib>
using namespace std;
int main()
{
int num1=0;
srand((unsigned)time(NULL));
num1=rand() %100;
cout<<endl;
system("pause");
return 0;
}
这段代码是我随意用来测试写的,刚自学C++,很多问题研究不懂,希望各位前辈指导一下。。还有几个关于头文件的问题;
1:cstdlib和stdlib区别在哪里?
2:我知道iostream在VC2010里不算头文件了,我也找了系统VC文件包里的头文件,发现存在iostream这个文件,但是没有扩展名,打开是一段代码。我理解为应用他需要输入命名空间using namespace std,但是同样的问题是为什么当我包含cmath,cstdlib这些同样是没有后缀.h的文件时,却不需要命名空间了?直接就可以用了,VC2010没提示红色错误下划线。。。
财富不多,还望各位大大见谅,有懂得有时间的就麻烦给讲解下吧,其中最关键的还是第一个疑惑啊,别的都还可以先放一边。。谢谢了 展开
#include <iostream>
#include <time.h>
//#include <cstdlib>
using namespace std;
int main()
{
int num1=0;
srand((unsigned)time(NULL));
num1=rand() %100;
cout<<endl;
system("pause");
return 0;
}
这段代码是我随意用来测试写的,刚自学C++,很多问题研究不懂,希望各位前辈指导一下。。还有几个关于头文件的问题;
1:cstdlib和stdlib区别在哪里?
2:我知道iostream在VC2010里不算头文件了,我也找了系统VC文件包里的头文件,发现存在iostream这个文件,但是没有扩展名,打开是一段代码。我理解为应用他需要输入命名空间using namespace std,但是同样的问题是为什么当我包含cmath,cstdlib这些同样是没有后缀.h的文件时,却不需要命名空间了?直接就可以用了,VC2010没提示红色错误下划线。。。
财富不多,还望各位大大见谅,有懂得有时间的就麻烦给讲解下吧,其中最关键的还是第一个疑惑啊,别的都还可以先放一边。。谢谢了 展开
2个回答
展开全部
1.stdlib.h是C语言的书写风格,cstdlib是C++中声明一个C语言中的头文件。但是C++是向下兼容C语言的。所以此处写作stdlib.h也不会出错。
2.C++中为了方便在写头文件时不需要写后缀名,写了也不会错。
3.C++中引入了命名空间的概念。缘由:实际开发中一个程序里有一个函数叫做display()。另一个程序里也有一个函数叫做display()。现在需要将两个程序合并使用。哎!这下电脑就犯傻了,哪个是哪个啊?程序员也苦恼,我也不想再另外该名字了。当前只有两个函数重名,要是有1000个怎么办?所以就引入了命名空间的概念。就是用以区别了。只要我在不同的命名空间下,函数名相同也能有所区别了。
另外个人一点小建议,刚开始学习C++可以先跳过细节的东西。到后来再不停地反复咀嚼。
2.C++中为了方便在写头文件时不需要写后缀名,写了也不会错。
3.C++中引入了命名空间的概念。缘由:实际开发中一个程序里有一个函数叫做display()。另一个程序里也有一个函数叫做display()。现在需要将两个程序合并使用。哎!这下电脑就犯傻了,哪个是哪个啊?程序员也苦恼,我也不想再另外该名字了。当前只有两个函数重名,要是有1000个怎么办?所以就引入了命名空间的概念。就是用以区别了。只要我在不同的命名空间下,函数名相同也能有所区别了。
另外个人一点小建议,刚开始学习C++可以先跳过细节的东西。到后来再不停地反复咀嚼。
展开全部
1. 楼上的回答是错误的,stdlib.h 和 cstdlib 是两个不同的文件,后者本身包括了前者,这不是同一个文件的两个写法。
在 C++ 中只要包括了 iostream 就无需再包括 cstdlib 或 cmath,因为:
iostream 里包括了 istream;
istream 里包括了 ostream;
ostream 里包括了 ios;
ios 里包括了 xlocnum;
xlocnum 里包括了 cstdlib、cmath、cstdio 和 climits(都是熟悉的名字)
2. 头文件原则上可以是任何扩展名或者没有扩展名,只不过标准 C 一般约定 .h 是头文件,C++ 一般约定不写扩展名;此外也有将包含一部分 C++ 函数定义的头文件赋予 .hpp 扩展名的做法,这都是为了便于识别和管理。无论什么扩展名,预处理器都将它们视作纯文本文件连在一起,扩展名对文件的属性没有任何影响。
问题解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询