哲理的诗句:DEV c++及c++标准

来源:百度文库 编辑:中科新闻网 时间:2024/03/29 21:51:18
回答此问题的人首先要知道dev c++和c++。
问题描述:疑问重点标准c++有标准性变化吗?
我们一般学习的c++应该是标准 ANSI c++(好像是1998的标准吧,我记不清楚了。)但是现在发现标准的c++好像有了变化。一部分发现是从.net中的c++中发现的,即托管和非托管问题。还有一部分就是现在我要问的。用过DEV c++早期版本(应该在dev c++ 3.0版本之前)的人应该知道,其在c++类库和编写方面是符合早期ANSI C++标准的,而现在的DEV c++好像也发生了相应的变化。我想应该和c++标准的发展有关系吧,疑问中?
口头描说不清楚举例:已helloworld为例:
这个是DEV c++ 5beta(及DEV c++ 4.9.9.2版本)使用的c++标准程序,我想应该就是使用当前的c++标准吧。
#include <iostream>

using namespace std;

int main (int argc, char *argv[])
{
cout << "Hello World!" << endl;
cout << "Press ENTER to continue..." << endl;
cin.get();
return 0;
}
熟悉c++的人会发现此程序与以往的c++程序在细节上有些不一样!
原来的c++标准的程序,我们经常习惯写的方式,即我们所学方式(在turbo c++编译通过)如下:
#include <iostream.h>
void main (int argc, char *argv[])
{
cout << "Hello World!" << endl;
cout << "Press ENTER to continue..." << endl;
cin.get();
}
以上两个本版不能在对方软件中编译通过!!
区别:1.#include中的都文件后缀扩展名在dev中消失。如果写扩展名会找不到头文件。
2.main()函数不能使用void修饰,如果用void中修饰在DEV中编译,会报错提示不可使用void!
3.添加使用using namespace std;如果不使用,在DEV编译时会提示cout无法使用。
以上可以看出c++在标准上好像发生了什么改变。这是我的猜测,所以可能有些地方又概念理解的错误。请高手指正!!
以上只是说明其中一些变化,整体来说c++大体没有过多的改变。以上改变内容可以在.net c++相关资料中找到解释。我想问的是这些改变是c++标准上的发展而改变的吗?毕竟dev c++应该使用的是标准的c++编译器。这样想的话,觉得应该是c++标准发生改变了。
以上问题,可能表述上有本质的概念错误,因为我本身就不是很清楚。
再有,如果哪位高说知道它是否与.net的存在关系的话,希望能告诉我。谢谢!
真的是深受毒害啊!
学了那么多年的c++,竟然....惭愧啊!
现在明白多了!

C++的标准是由C++标准委员会制定的,最新的标准指明

main函数应该有一个int类型的返回值,main不支持void类的返回值了.

现在C++的头文件不因该带后缀名了,这是为了和C的头文件进行区别.

加std跟上个问题有关,如果你是使用C++风格的#include来引用头文件,那么就必须加上std这个命名空间,因为所有的C++标准库函数都定义在std中,如果不加上它,那么这些标准库函数对于我们是不可见的.

C++.net好些特性都是MS自己加进去的, 比如托管, 跟
ANSI C++无关

呵呵, 又一个国产C++教程毒物的受害者!~~
可以看一下<<the C++ programming language>> 书中的相关介绍, 原版是C++之父B.S.写的, 中文版是裘宗燕译的, 不错!
dev C++的编译器97%还是100%?支持ANSI C++
VC++.net的编译器97%or98%支持ANSI C++