发布网友
共2个回答
热心网友
1.stdlib.h是C语言的书写风格,cstdlib是C++中声明一个C语言中的头文件。但是C++是向下兼容C语言的。所以此处写作stdlib.h也不会出错。
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 扩展名的做法,这都是为了便于识别和管理。无论什么扩展名,预处理器都将它们视作纯文本文件连在一起,扩展名对文件的属性没有任何影响。
问题解决。