免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3121 | 回复: 11
打印 上一主题 下一主题

[C++] 大家好,我是个纯菜鸟,请教各位老师关于C++的版本问题.谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-08 00:17 |只看该作者 |倒序浏览
以前一直接触计算机,学的多是实用操作.现在越发觉得自己的基础薄弱,准备塌实从头学起.
拿出了C++的书籍学习,不想开篇就遇到了难题,寻遍GOOGLE,BAIDU不得其解,苦于身边有没有此方面的老师,只好厚着脸皮来此向各位大牛请教.
我看的是清华大学出版社出版的,钱能老师写的<C++程序设计教程(第二版)>,看完了前10页,不想在第一章节就遇到了问题:不知道此书所讲的"C++"使用的是什么版本的c++语言.2.0版?3.0版?C++ builder 6.0?
本人以前未接触过编程语言,提的问题可能弱了些.还希望各位不啬赐教...
我有信心克服各种困难,学好一门语言
--一个快奔三十的学习者

论坛徽章:
0
2 [报告]
发表于 2009-01-08 00:34 |只看该作者
C++标准(也就是你所谓的C++语言版本)目前只发布了一个,那就是C++98,2003年对C++98进行了修订
预计今年会发布C++新标准“C++09”

C++ Builder 6.0/Visual C++/G++等,这些是编译器

论坛徽章:
0
3 [报告]
发表于 2009-01-08 00:35 |只看该作者
书上要是没告诉你,你就找找是不是有提到 <iostream.h>。如果有,说明用的是标准确立之前的 C++。如果已经更改为 <iostream> 并且明确了 std 命名空间,说明是标准 C++。而各实现对于标准的符合程度是不一样的,你可以通过翻阅编译器的参考手册来获得答案。

论坛徽章:
0
4 [报告]
发表于 2009-01-08 01:10 |只看该作者
这么晚了,楼上两位还没休息,更抽空回答了我的问题,十分感谢的同时,也希望两位老师别熬夜太晚,注意身体.
看了两位老师的回答,我有些认识不知道准确与否,还请指教.
2楼老师:
"C++ Builder 6.0/Visual C++/G++等,这些是编译器",是不是我就可以理解为,所有的C++代码,都可以在这三款"程序"中编写和调试运行?并且高版本向低版本兼容(即在TC3.0中调试成功的代码也可以在VC中运行)

3楼老师:
我就是在编译书中第一个最简单的程序时遇到的这个问题,即在TC3.0中使用#include<iostream>时提示"unable to open include file 'iostream'",加上.h后,在std命名空间提示"type qualifier 'std' must be a struct or class name"...

再请问各位,那款编译器比较适合我这种菜鸟中菜鸟来继续学习这本书?

论坛徽章:
0
5 [报告]
发表于 2009-01-08 01:32 |只看该作者
先有 C++语言标准 才有公司根据标准出编译器,
假设标准有10000条,那么制作编译器的公司不一定全能实现,比如实现9999条,剩下的那一条没有程序员用,就没发现他自己没实现,所以普通的程序可以在任何支持标准的编译器下运行,但是个别语句和结构可能有A编译器支持B编译器不支持这种情况,没有完美的编译器,但是像你这种初学者,基本上遇不到这种情况,所以你写的程序应该是在任何编译器上都可以编译(前提你不要用错编译器).

TC的问题我也不是很懂,大家探讨一下 TC是编译C语言的吧,那还没有命名空间概念.std是标准命名空间,可能编译器不认识. 不加.h也是新C++标准.如果编译器不支持C++那么编译不过就正常了.

编译器你就用VC吧.这东西多好下载,而且是在windows环境下的.学习么,什么方便下载用什么

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
6 [报告]
发表于 2009-01-08 09:13 |只看该作者
(即在TC3.0中调试成功的代码也可以在VC中运行)

这两个是不同的编译器。

在win下可以用vc2008(vs2008里包含了)(我以前在windows平台时用的是2005,2008是最新版)
或者那个什么dev-c++的(这个没用过)

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
7 [报告]
发表于 2009-01-08 09:16 |只看该作者
#include<iostream>

你用的书上既然是这个,那讲的c++就标准的了。
编码就用最新的编译器吧。

另外你说的几款编译都是不同的个体。。个体之间是不一定兼容的。。个体内部的高版本也不一定跟低版本兼容

论坛徽章:
0
8 [报告]
发表于 2009-01-08 09:42 |只看该作者
谢谢tyc611,langue,xuechen99,yangsf5四位老师的热心解答,总算对在什么编译器下学习C++有了点认识.
十分感谢大家对我这个大龄菜鸟的不离不弃.老实说,开始发帖提问的时候心里很忐忑,不是怕各位老师、高人嘲笑我的问题弱智,而是怕大家不屑回答我这种幼儿园级的问题,那样我就可能还在为使用什么编译器而烦恼呢,就更别提今后的学习了。
大伙的热情真的对我的学习是个鼓励是个促进!真的很感谢大家!
我一定努力学习,不辜负大家的热情(有点像小学写作文时表决心啊)!
努力!努力!努力!希望早日能和大家讨论,而不仅仅是发帖问问题。
再次感谢回答我的四位老师和所有热心的坛友!

论坛徽章:
0
9 [报告]
发表于 2009-01-08 12:04 |只看该作者
(即在TC3.0中调试成功的代码也可以在VC中运行)


TC 和 VC 没有什么兼容不兼容的,要说兼容,这两路货色其实根本不兼容,完全是两家公司的产品。
只不过 Turbo C 用在 DOS 上面写 16 位实模式程序多,Visual C++ 给 Win16/Win32/Win64 写实模式/保护模式的程序罢了。

Visual C++ 是 Windows 平台最佳的编译器,Windows 源代码就是拿它编译的。

选择工具和环境很重要,因为这会影响到你今后的学习和思维习惯。假如你愿意在 Windows 平台设计和编写程序,那么你应该选择 Visual Studio [.NET]
(或者其实说穿了那个就是 Platform SDK / .NET Framework SDK / Windows SDK 再加上 IDE 和 debugger)

如果是 POSIX/GNU/BSD/SysV 这样的平台,你还是用 GNU toolchain 比较好,GNU 工具的可移植性极佳,非常符合 Unix 哲学:Portability over efficiency。



[ 本帖最后由 langue 于 2009-1-8 12:09 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-01-08 13:55 |只看该作者
原帖由 langue 于 2009-1-8 12:04 发表


TC 和 VC 没有什么兼容不兼容的,要说兼容,这两路货色其实根本不兼容,完全是两家公司的产品。
只不过 Turbo C 用在 DOS 上面写 16 位实模式程序多,Visual C++ 给 Win16/Win32/Win64 写实模式/保护模式的 ...


langue老师好,我想如果我能够学会的话,今后主要的是给WINDOWS写程序。毕竟WINDOWS下程序的编写相对可以查的资料、文档都比较多,并且精通的人也比较多,对我以后的学习比较有帮助。看了各位老师的观点和建议,我决定先从VC入手了,争取先将手头的这本书学完,尽量吃透。

有问题的时候肯定还少不了麻烦大家,兄弟在这里先谢过了。

祝各位每天都有份好的心情!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP