开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2502|回复: 11
收起左侧

[C/C++] 会C++的帮帮忙吧

[复制链接]
发表于 2011-5-14 11:40:39 | 显示全部楼层 |阅读模式   江苏省南京市
百度百科的解释不明白,2和3为什么会有两种方法,都是C++吗?有区别吗?还是只因为编译器不同?哪种更“先进”呢?我现在看的是 《21天学通C++(第六版)》 里面用的是第3种,但是VC++6.0好像是第2种吧。能不能详细讲讲,能推荐几本书就更好了,刚学C++,不要笑啊


1在使用兼容C89标准(也称为ANSI C)的编译器时,下面这个程序显示“Hello, world!”然后结束运行:
(事实上这并不是符合98标准[ISO C++]的C++程序,而且在多数编译器上这个程序也不能运行,若要在比较旧的编译器上编译该程序,应将stdio.h改为iostream.h)
  #include <stdio.h>
  int main()
  {
  printf("Hello, world!\n");
  return 0;
  }
  (以上是c语言代码,c++语言是c语言高一级的版本)
2在使用兼容C++98标准(ISO/IEC 14882-1998)的编译器时,下面的程序也是可以的:
  #include <iostream.h>
  int main()
  {
  cout << "Hello, world!" << endl;
  return 0;
  }
3在使用兼容C++ STL的编译器时,应当是:
  #include <iostream>
  using namespace std;
  int main()
  {
  cout<<"Hello,world!"<<endl;
  return 0;
  }

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:25% (1/4)
发表于 2011-5-14 12:35:58 | 显示全部楼层   山西省忻州市
本帖最后由 奥特曼 于 2011-5-14 12:37 编辑

  #include <iostream>
3应该是
  int main()

  {
如果不加 using namespace std
 std::cout << "Hello, world!" << std::endl;

  return 0;

  }

回复 支持 反对

使用道具 举报

结帖率:25% (1/4)
发表于 2011-5-14 12:40:00 | 显示全部楼层   山西省忻州市
第2个是使用了非标准库文件iostream.h,所以不需要写std如果使用iostream时不想写std的话,可以这样写:using std::cot,using std:endl...
回复 支持 反对

使用道具 举报

发表于 2011-5-14 22:49:43 | 显示全部楼层   黑龙江省牡丹江市
#include <iostream>
using namespace std;
int main()
{
  cout <<"hello world"<<endl;
return 0;
}

这是c++标准版。
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)
发表于 2011-5-14 23:22:04 | 显示全部楼层   上海市上海市
这是不同时期C++有不同的标准,一些东西在VC6上可以运行,但是现在很多东西在VS2008,VS2010上却不能运行。推荐使用VS2010。
另外一些汉化版本的VS也会可能有问题,这是汉化的原因造成,建议使用英文版的VS。
还有就是不同的编译器也有可能造成这些原因。很多人都会准备2-3种不同的编译器。这样视情况而定。
最后一种情况其实有些程序你看汇编代码就很容易明白,其实是寄存器硬件的原因。这个跟当初硬件设计者没有考虑周详造成!

总之,只要自己理解了就行了。有些东西不需要追求的那么深刻!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-15 11:10:55 | 显示全部楼层   江苏省南京市
多谢指导,感激不尽啊{:soso_e181:}
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2011-5-15 18:17:43 | 显示全部楼层   广东省广州市
几个阶段,希望对你有帮助
【阶段一】:

《C++程序设计语言(特别版)》
        The C++ Programming Language(Bjarne Stroustrup)

《C++程序设计 谭浩强2004》

《C++语言的设计和演化》
        《The Design and Evolution of C++》

《C++ Primer (3RD)中文版》

《C++ Primer (4RD)中文版》

《Essential C++中文版》

《Accelerated C++中文版》

《Thinking In C++》



【阶段二】:

《Effective C++中文版》

《More Effective C++中文版》

《Exceptional C++中文版》

《More Exceptional C++中文版》

《C++沉思录》


【阶段三】:

《深度探索C++对象模型》
        Inside The C++ Object Model (Stanley B. Lippman)

《设计模式:可复用面向对象软件的基础》
         Design Patterns


【STL】:

《C++ Templates全览》

《C++设计新思维:泛型编程与设计模式之应用》

《C++标准程序库:自修教程与参考手册》
        STL Tutorial and Reference Guide (David R. Musser)

《Effective STL》


【网络】

《C++网络编程,卷1:运用ACE和模式消除复杂性》

《C++网络编程,卷2:基于 ACE 和框架的系统化复用》
回复 支持 反对

使用道具 举报

发表于 2011-5-26 15:04:44 | 显示全部楼层   广东省中山市
iostream.h c的头文件 iostream 标准C++的头文件
回复 支持 反对

使用道具 举报

发表于 2011-7-9 14:24:02 | 显示全部楼层   江苏省南京市
没任何区别,第2个是加了一个输入输出流 ,第三个是加了一个标砖的命名空间,都是一样
回复 支持 反对

使用道具 举报

发表于 2011-7-10 08:12:30 | 显示全部楼层   河北省石家庄市
2是用的c库(c++兼容C),3是用的C++标准库,建议用3的方法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表