Skip to content

0.1 教程介绍

Welcome!

欢迎来到乐学C++教程!这一系列教程旨在让你更轻松快乐的学会C++。

和其他大多数网站和书籍不一样,即使没有编程经验的人也能放心食用本教程。在这个过程中我们会通过给你大量的示例代码,让你在编程的实践中学会C++。

无论你是C++的业余爱好者还是靠写C++吃饭的开发者,与本教程的偶然邂逅,将为你指引C++编程的坦途。

教程的结构

序章的教程让你大体上了解C++是什么,它是怎样横空出世,一个C++程序是怎么跑起来的,以及——在你开始动手编程前需要安装的工具。然后,我们会教会你创造出你的第一个程序。

之后的教程里,我们会一起探索C++语言的各个部分。在第一章,你会对C++语言的大多数重要概念有全而浅的认识,由此你开始有能力编写一些简单的小程序。之后的章节里我们会更深入的探讨这些概念,以及——介绍一些全新的概念。

本教程的每一个章节都有一个主题,章节的内容大体上围绕着这个主题展开。每一章没有固定的建议阅读时间,以你最舒适的速度前进吧!

教程的目标

在开始之前,让我们来看看本教程的几个重要目标:

  • 涵盖C++相关的内容。

传统的编程教材尽管在讲解编程语言语法基础上做的很详细,但他们往往忽视了一些语言相关的附加内容。比方说,这些书籍往往会在编码风格、常见误区、调试、编程习惯的好坏、以及代码测试上节省笔墨。那后果就是,当你读完这些书时,你大体上知道怎么用这门语言进行编程,但你可能在编码习惯和编程风格上一塌糊涂,这些习惯往往会在未来成为你编程之路的绊脚石。本教程将会在每章节恰当的地方讨论这些附加的内容,确保读者在阅读过程中不断受其熏染,深入人心。当你合上本教程的封底时,你不仅仅学会了怎样用C++编程,还将知道什么场景下不应使用C++编程,这两者同等重要,不可偏废。

  • 海量丰富的例子。

通过阅读实例代码,大多数人或多或少地能够有效地学到知识。本教程致力于提供大量清晰简洁的示例,通过示例来学以致用。同时我们也会尽可能避免两大叙述时的“恶魔”:,比方说,the magic hand wave(也称为……<此处省略一万字>) ,诸如此类为了节省空间,把示例的一部分给省掉的行为,以及,在示例中引入了一些新概念,却不对这些概念进行解释说明的行径。我们会尽量避免这种容易让读者在阅读中卡住的叙述方式。

  • 大量用于练习的程序

本教程每章节的结尾会涵盖一部分带答案的练习题,读者可以尝试自己进行练习,并把你的答案和我们提供的答案进行对比思考,或者说当你卡在某道题的时候看一看我们提供的思路。接着,你可以回到你需要做更多功课的地方进行学习。

  • 最重要的事:玩得开心。编程本身是一件充满乐趣的事情,如果你在这个过程中无比痛苦,说明你还没有真正摸到此中的门道。疲惫、甚至闷闷不乐的程序员往往会谬误不断,并且与其调试程序花费大量的时间,不如一开始我们就写出接近完美的代码。另外,不要过劳编程,小憩片刻或者酣睡至东方发白,解决问题的方法将在晨光熹微时闪现在你的脑海里。

充分利用本教程

在你学习本教程的过程中,我们有一些小小的建议也许可以让你学习的收益最大化:

  • 亲自把示例的代码手打一遍并且编译运行,不要复制粘贴!这会帮助你知道哪些地方你容易出错,并且让你对常见的编译警告和错误熟悉。不要无脑的copy代码,当你手打每一行代码时,你都要思考它们做了什么,实现了程序的哪些功能。当你遇到一些不能理解或者你认为不合理的东西时,这时候就需要你进一步查阅资料,深入调研。
  • 在编程的时候,你可能会犯下谬误或者产生bug。在寻求大佬帮助前,尽量尝试自己去解决这些问题。bug的查找以及修复也是一个好的程序员的关键技能。别忘了学习使用调试器(我们会在之后的课程中讲解使用方法)——一种能帮你找到bug位置的关键工具。
  • 对示例代码进行进一步的实验。尝试修改示例中的数据和文本看看会发生什么,修改代码的逻辑以进一步实现新的功能(比如说,原来程序是计算两数和,我们让他可以计算三个数的和)。想不同的办法让程序终止运行(如果程序要求用户输入,我们可以尝试各种输入)。通过修改示例程序进行实验,你会比仅仅只使用实例程序学到更多东西。
  • 花点时间完成小测验。如果你是编程菜鸡,你可能会觉得他们有点难度(这很正常,因为你的大脑在不断适应编程的思维)。如果一次没有做对也不要沮丧,再试几次你没准就会成功。如果你确实卡住了,看看答案也是无所谓的。只要确保你理解了答案的内容和原理。
  • 用你学到的概念写你自己的小程序。纸上得来终觉浅,绝知此事要躬行。

网站相关(指learncpp.com

问:网站怎么注册?怎样才能登录?

答 :本站的所有内容都能免登录浏览——所以,无需注册!


问:这些教程最早2007年编写的,现在还能用吗?

答 :当然,肯定可以用。

C++的标准修订并非特别频繁,即使有变化,也是在原来的基础上增加新的特性。当然,本教程也会随着语言标准变化和读者反馈定期更新。

问:本网站的教程有pdf版本供离线阅读吗?

答:抱歉,这个没有。本网站免费开发的原因是因为受广告商赞助——而pdf版本无法投入广告。当然,你也可以把本站上的网页转换为pdf做私人用途,只要不把pdf版本传播出去就ok了。

问:如果我卡在某个概念了怎么办?

答:如果你对某一部分不太明白,你可以:

  • 阅读评论。其他的读者可能也遇到了相似的问题。
  • 粗读下一章的教程——说不定你的疑惑会在那里得到解答。
  • 善用搜索引擎查找你的问题。
  • 在类似StackOverflow的问答网站上提问。

如果都没用的话,暂时跳过这一部分不懂的内容,以待将来翻看。到那时你可能会发现,在学习了其他章的知识和文章以后,再回头来看,曾经艰涩难懂的东西一下子茅塞顿开。

问:如果我遗忘了某个概念怎么办?

答:善用主页索引,查找你需要了解的概念,你会找到讲解相关知识的章节。

问:怎么能在评论区带头像评论?

评论区使用了gravatars。你可以在gravatar.com创建一个账户。点击“Create your own gravatar”按钮并注册。你的gravatar账户将与你的邮箱(可选)关联。

问:本网站有黑夜模式吗?

答:没有自带的。但你能手动搞一搞,详见darkreader.org

最后,一个小小的不情之请:本网站因广告商赞助而得以免费。如果你喜欢本网站的课程,可考虑关闭广告拦截器来支持我们。

好的,一切就绪,让我们开始吧!