本节书摘来自异步社区出版社《易学C++(第2版)》一书中的第1章,第1.4节,作者:潘嘉杰  ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 C++能够做些什么

或许不少人对计算机逐渐感兴趣,都是源于接触了一些优秀的游戏或者软件,我也是。当我还不知道程序设计是什么的时候,也曾幻想能够做一款像“红色警戒”那样令人兴奋的游戏,或是编出另一个操作系统,挑战一下Windows的霸主地位。不过,很遗憾地告诉大家,光靠本书中所介绍的C++内容是不可能开发出让人眩目的3D游戏,更不可能开发出一个图形化的操作系统。但是,一个会编游戏或软件的程序员必然对本书中的内容了然于胸,因为这些都是C++语言的基础。尽管如此,为了增加本书的趣味性,笔者还是在适合的章节处安排了一些初学者力所能及的小程序,以达到抛砖引玉的目的。

C++语言广泛应用于各种软件的开发。事实上,Windows下的应用软件也有不少曾经是用C++编写的(现在也有不少使用C#或者Java)。例如,用控制台可以编写计算量较大的科学计算程序;用MFC或WinForm类库可以编写中小型企业的内部管理软件;用图形应用程序接口可以编写3D游戏,或游戏机模拟器;利用C++能够接触系统底层的特点,可以编写优化软件让计算机的运作效率大大提高;利用C++可以与内存打交道的特点,可以编写游戏修改器;用C++还可以编写各种手机游戏。总而言之,C++的功能是非常强大的,而且强大得很低调。

由于C++是面向对象的高级语言,用它面向对象的特性来开发软件可以大大减少重复的工作,使设计程序变得更为轻松。例如当编写一个Windows窗口程序时,程序员不必去考虑窗口如何显示的细节,而只需要将大小和位置等信息编入代码即可。因为每个窗口都是相似的,没必要去做重复的工作。

图1.2所示是上海大学一位校友陈迪锋的作品。该赛车游戏约有1万行代码,使用了Visual C++和多个游戏引擎。要做成这样的游戏,并不是件容易的事情。没有扎实的C++基本功和多年来长期的坚持学习,很难有这样的成果。


为了降低学习的难度,本书主要介绍C++的语法特性以及如何编写控制台应用程序。控制台应用程序是C++程序设计的基础,涵盖了C++程序设计的大部分知识。而学习更多编程知识之前也必须掌握C++的语法特性和控制台应用程序。

控制台应用程序是一种基于字符方式的人机界面,即用户主要通过键盘来向计算机输入信息或发出指令。这与Windows下的命令控制行相似,是一种最基本的交互方式。图1.3所示是一个典型的控制台应用程序。


《易学C++(第2版)》——1.4 C++能够做些什么相关推荐

  1. 安装html5 win7,什么是HTML5? Win7旗舰版浏览HTML5网页要做哪些准备?

    什么是HTML5? Win7旗舰版浏览HTML5网页要做哪些准备? HTML5是目前最新的网页编码技术,拥有占用电脑资源小.网页效果更加流畅.取代Flash实现视频网页播放等优点,大型的主流网站基本都 ...

  2. wps的流程图怎么导出_还在当灵魂画手?WPS教育版“绘图工具”助你做大牛—思维导图篇...

    同样是九年义务教育,为什么Ta考前复习那么高效.教学思路如此清晰.讲演逻辑这么明了-- 傻瓜,不是因为你比他少读一年,而是你还没有安排上WPS教育版的思维导图呀~ 思维导图是一种将思维形象化的方法,能 ...

  3. PS常用案例步骤详解,自学 Photoshop 2022 Mac版——笔记 3实战PS做练习题

    PS做练习题真是一天一天的积累. 很多效果也是边用边记住的(也有忘了的,还得再多练练). 下面分享下日常练习做图,网图侵删,仅作为学习使用. 用的 Mac 版,操作步骤和快捷键都写下来啦! 安装包: ...

  4. 我的世界java1.14刷铁机_我的世界1.14版刷铁机怎么做?

    我的世界minecraft1.14版本的刷铁机与1.14之前版本的刷铁机是不一样的.铁傀儡生成的条件在1.14版是村民,有效门,床,工作方块和钟.刷铁机的样式有很多,那么以下就是本人自己试验得出来的一 ...

  5. App 发版前后,运营要做这些事情

    本篇是我自己的一点总结,适合刚开始做app运营的同学入门,如果不幸没人带的时候,发版前后不至于两眼一抹黑,运营大神就看看小标题,帮忙补充补充吧. 一.当App是全新产品时,运营需要尽早介入 常常听同行 ...

  6. 【剑指offer-Java版】47不用加减乘除做加法

    不用 + - * / 做加法 输入两个整数,不使用四则运算求出这两个数的和 分析加法运算对应的位运算: 1 等价于两个数先做异或运算 – 相当于不考虑进位的加法 2 然后按位与运算并将与运算的和左移一 ...

  7. JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE

    5月23日,JetBrains发布了一篇博文,透露他们正在实现一套全新的界面界面. 他们认为目前行业中的用户界面趋势已经发生了演变,很多新用户认为JetBrains IDE的界面过于笨重,而且过时.所 ...

  8. 艾永亮:成为中国版“YouTube”,B站做的不仅是拿下版权

    2020年,国内短视频行业竞争激烈,各大企业正式进入对刚阶段.还记得哔哩哔哩花费8亿拿下英雄联盟全球总决赛中国地区三年的独家直播版权后,凭借着内容出圈,正式从短视频向其它综合性平台出发. 而字节跳动在 ...

  9. CC(标准)版D碟收藏指南(前言)

    标准收藏版,英文是:The Criterion Collection,简称CC版.该品牌致力于将全世界的杰出电影制作成高质量的影音产品,电影选材范围遍及各个国家各种风格,影片全部源自电影大师的杰作,电 ...

最新文章

  1. Bminer 7.0.0 ETH挖矿教程(Linux 64)
  2. 语言zzuli链表遍历_趣味图解算法之链表
  3. 什么是mysql的游标_数据库中的游标到底是什么意思
  4. windows7下darknet配置yolov3训练及测试完整教程
  5. python package安装包_安装Python包(第三方库)
  6. css高度自适应以及高度塌陷总结
  7. KVM(五)libvirt 介绍
  8. 美颜重磅技术之GPUImage源码分析
  9. 译:用iPhone SDK来画饼图(Pie Charts)报表
  10. 域名虚拟主机管理系统linux,8 款顶级的虚拟主机管理系统
  11. 1-selenium-安装及模拟谷歌邮箱登录
  12. 从零开始再造打爆李世石的AlphaGo:快速构建棋盘和围棋规则
  13. zencart模板分析
  14. 对npm包精准控制之npm-shrinkwrap.json与package-lock.json
  15. Makefile之wildcard
  16. 昆明理工大学计算机学院李博,昆明理工大学
  17. 【Unity3D基础2-9】Unity3D烘焙系统的使用
  18. 简单体验 Windows XP Service Pack 3 简体中文版
  19. 用Java写一个家庭收支记账软件
  20. 从四个环节,介绍企业危机负面新闻公关处理流程与步骤

热门文章

  1. Android之Butterknife原理解析
  2. python定时任务_Python3实现定时任务的四种方式
  3. Git_Eclipse:[3]Git初始化工程
  4. replace和replacAll
  5. python中time()时间的相关问题
  6. java-forkjoin框架的使用
  7. JSPServlet学习手册
  8. HDU-1162-Eddy's picture
  9. IDEA - 解决 Maven 初始化配置 web.xml 为 2.3 的问题
  10. 解决无法使用pip命令加载Python的扩展库问题