C++编程这么学习,0基础入门也没想的那么难!

前言

  • 读者定位是两类人群:
    a.初学者,即将入手 C++ 语言、不知道如何开始;
    b.已经开始学习C++许久了,却进度缓慢,抓不到精髓,倍感迷茫。
  • 本文不会深入到C++语言内部挖掘技术点。
  • 你本就是C++高手,开发经验丰富,可以对本文提一些建议。
  • 本文将结合小编自己的学习经历和经验,谈一谈 C++ 应该如何学习。

【文章福利】: 小编推荐一个C语言/C++交流群:836880131!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加~

为什么 C/C++?

C++ 是一门编程语言,请注意它仅仅是一门编程语言。这句话的意思就是一旦有人在做语言好坏之争的时候,一笑而过即可。特定的语言只是用来在特定的领域解决特定的问题,仅此而已,尤其是现在众多语言纷飞的年代,这句话的正确性不容置疑。

在编程领域里,每个人都会有他/她的入门语言,各持己见。我个人认为 C 语言是一个很不错的选择,语法简单,深度可深可浅,高级语言的鼻祖。很重要的一点是现今的各种编程语言,或多或少都是 C 语言的衍生品,或者是衍生品的衍生品。语言相通,只要 C 语言学好了,上手其他语言问题不大。C 语言的灵魂在于指针,指针可以帮助你更好的理解内存,理解操作系统的工作机理。

C++ 是一门争议性语言,喜欢研究的人很多,吐槽的(包括一些大神级的人物)的人也很多。在 C/C++ 的时代(C/C++刚出道的时候),语言的可选性较少,所以 C++ 干了许多事情,现在时代不一样了,正如我前面所谓语言纷飞,针对性语言众多,程序员的选择性也就多了(有很多的优秀的语言可以去学,C#,java,php,python,ruby……),所以 C++ 不再是必须品。

在你开始学习之前,请慎重考虑一下,为什么要学?如果考虑好了,请继续阅读。

C++新手

选择一本好书

如果你发现以“数字”命名的书籍,请扔掉!(21天学通C++?)
如果你发现以“通”字样命名的书籍,请扔掉!(零起点学通C++?C++从入门到精通?)
如果你发现把“Visual” 和 “C++” 联系起来的 C++ 教程,请扔掉!(太多了,不举例了)
如果你发现“void main”作为实例的书籍,请扔掉!
如果你发现“”作为实例的书籍,请扔掉!
……

有几本书可以供你选择:《C++ Primer Plus》,《C++ Primer》,《C++程序设计语言》

小编入门用的是《C++入门经典》,继而读的是《C++ Primer》。其实好书和差书很容易区分,厚度和价位是一个很关键的点,通常薄薄的,又便宜,书名却非常霸气的告诉你如何精通,那你果断扔了,想都不要想。

选择一个好的IDE

请注意我强调的是IDE(集成开发环境),而不是套餐(GCC+VIM/EMACS+GDB+[linux]),对于一个初学者来说,一定要抓住重点。

初学者一定要相信这一点,网上太多人吹嘘学 C++ 不应该用 IDE ,就应该直接 文本编辑器+GCC 用 GDB 调试,进而言语鄙视 IDE 。我不知道你抱着什么心态,我只想说你入门是那样入门的吗?当时有没有 IDE ?你了解 IDE 吗?你公司用什么开发?

对于一个入门新手,一个人性化的调试环境是必须的。当然,作为一个 C++ 程序员的话,GCC/GDB 是必须要去了解的,linux 也是必须要会的。

C++入门(停留在表面)

参考标准:熟练掌握 C++ 语法结构,了解 C++ 主要模块,技术难点。大部分书上可以找到的知识点。

学习 C++ 要不要学习 C ?

作为这样的一篇文章,这个探讨几乎是必须要做的。

我的观点很明确,要学!

因为我先学 C 语言,后学的 C++ 的,而且学习使用过程中无数次穿插的相互学习。我的程序中从来没有刻意的区分这是 C 还是 C++,我把握的标准是怎么样方便怎么来。

就好像文件读写我从来都不用 C++ 的文件流,因为我习惯了 C 语言的 fread、fwrite、 fopen、 fseek、 ftell 等等。

我是站在语言的语法和库的角度来说“要学”的。如果你要学面向对象的话,那就没必要学 C 了,好像也没有学 C++ 的必要了,你可以选择一个纯面向对象的语言去学面向对象岂不更好。

总结,以我的个人经历来说,学 C++ 可以先学习 C 语言(观点已明确,探讨结束!)。

要了解哪些东西呢?总结是两点:语法和库。所有的语言几乎都是一样的。

  • 语法[基本类型、标准库类型、数组和指针、表达式、语句、函数等]
  • STL[容器,算法]
  • 模板与泛型编程
  • 类与面向对象

语法熟练的是必须的;熟练使用 STL 编程,面向对象思想不是一天两天就可以有的,需要不断的历练和实战才能培养出来的;面向对象在C++中的实现方式一定要熟(继承,派生,虚函数等);模板的实参演绎要搞清楚。

怎么学习C语言

希望我整理的 C语言的学习路线,能对你有帮助!

数据类型、变量、内存布局、指针基础;
字符串、一维数组、二维数组;
一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针;
结构体、文件的使用;
动态库的封装和设计;
函数指针回调函数。

配套书籍:

如何实现入门?

  • 看书。《C++ primer》,《C++标准程序库》,《C++ template》
  • 多思考,多写小程序。

C++进阶(技术研究)

参考标准:内部机理,奇淫技巧

  1. 深入C++内部,探究实现的机理[为什么模板不支持分离编译?虚函数/多重继承是怎么实现的?类型转换做了那些事情?异常处理?等]
  2. STL源码学习[学习别人的设计方法?为什么STL效率高(为达效率,无所不用其极)?学习数据结构和算法?内存池?RTTI?等]
  3. 内存[理解指针运算?内存对齐?类的内存布局?new/delete 和 malloc/delete的区别?函数变参的实现?存储方式?智能指针?等]
  4. 编译器在编译,链接的过程中偷偷的做了那些事情。[如何分析编译器的提示?链接错误代表可能出现哪些问题?等]
  5. 跟上C++库的潮流,研究新标准。

如何实现进阶?

  • 看书。Effective 系列书籍,《STL源码剖析》,《C++标准程序库》,《C++沉思录》,《高质量C/C++编程》,《C++编程思想》,《深度探索C++对象模型》等。
  • 写软件,遇到问题之后自己折腾,自己探索。
  • 逛社区,回答别人的问题。
  • 多看看别人的博客。
  • 结交自己的技术圈子。

最后给大家几个忠告来结束本文吧:

  • 多交流:不管你的技术多么硬,你都不可能一个人做完所有的事情,你要学会与别人合作,与别人交流。交流过程中,要注意交流技巧。学会尊重别人,但要不亢不卑。

  • 多动手:熟能生巧,这是万能之理。我们干的是技术活,最能证明自己能力的就是干!不是扯淡!

  • 多思考:不要做编码机器。

  • 多总结:相同的问题不可能只出现一次,尤其是在我们这个行业。总结是为了你在以后更快的解决类似的问题,提高工作效率。

能说的还有很多,让博客待续……

文章福利

对于自己找不到视频、书籍资源的读者,可以加小编的C语言/C++交流群:836880131!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,需要的可以自行添加下载即可~

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355