如果每天坚持敲上几段代码,一个月足以入门,三个月可以精通
可能几天,也可能一辈子...
c++的语法细节非常繁复,逐一理顺大概要两个月基础语法与规则的学习,包括类(其中包含很多东西)、动态内存管理、异常(这个足以单独开一本书)、输入输出、高级技术概览,这是在你有c语言基础的前提下,市面上的经典入门书籍,很多人说对新手不友好,不够基础,不推荐新手,事实上这已经够基础了,剔除了大部分的c++繁复的细节与c++11中的更高级的内容,比如大部分入门书籍应该都包括了私有继承、多继承、动多态,但是没有包括虚继承、空基类优化、静多态,这是好的做法,如果将这许多高级知识都加进去,才是真正的对新手不友好,因为这样让读者没法专心语言的核心语法,而为繁复的语言细节所困。如果仅仅讲讲类、继承、多态、特殊的成员函数、重载、友元、嵌套等基础知识,就会让读者以为已经掌握语言所有的奥妙,从而自满,然后迅速受挫。建议你完整学完一本经典的入门书籍,这会帮你加深对c++的了解,那时你就不会这么问了,还会令你重新定义一下入门的界限。我看到你同时询问C和C++,那就是还没想好学哪个了,甚至都不一定要学,我想你对c/c++还缺乏清晰的认识,或是对它们的好奇多于兴趣。等你真正想学了再来考虑这个问题也不迟。搞技术的,需要保持强烈的兴趣和长期的专注,不急于一时,耐得住寂寞才能出成果,如何保持长期的专注是另一个问题,但这或许就是答案,关键不在于要多少时间,而在于要怎么做,放下你的"短时间",急切的乞望与现实的冷峻形成反差,往往令人受挫,耐心一点,学习过程中会面对许多阻碍,诸如寂寞、诱惑、厌倦、焦虑种种,这其中的任何一样都足以动摇你本就不够坚固的心。循序渐进、坚持不懈的学习才是唯一的正道,操之过急没有好处,否则的话就算你花很短时间火力全开啃完一本C++书籍,筋疲力尽,你也再不想碰第二本了,更别提你会发现其实你还是什么都做不了时的气愤足以令你从此打消学习c++的想法。所以我劝你首先认清这一点。希望你能尽早明白短时间学会任何有挑战性的东西都是不可能的,唯有持之以恒,以后的你会感谢曾经坚持不懈的自己,这样的人到哪里都是被尊敬的。c++浩如烟海,这是c++的创作者和许多大师的原话,很少有人对c++说精通,因为那样太不尊敬那些为c++的成长倾注心血的人了,但我同样看不起那些说自己永远无法精通c++的人,这样的的谦卑已经近乎于畏了。我不想说些惊人的言论以博关注,但也愿意谈谈我的看法,若说有人足够了解c++,只有它的作者了,Bjarne Stroupstrup,他深刻而有远见,极富洞察力。是少数始终对c++有清醒认识的人,注意是清醒不是清晰,大多数人都或多或少误用了c++,这是作者强烈批判的。例如宏和强制类型转换,作者说他最不喜欢c++中与c重合的部分,如果可能的话,他希望去掉那一部分,但是与c兼容是设计之初的想法,已经没法改变了。作者始终清醒,他说他希望c++是实用的而非遵从哪一种特定思想。我深感认同,这就是是为什么C++表现出多种多样的特性,既不是完全面向对象的(oop)也不是面向过程的,而是基于对象的(oo),有全局的概念,而没有将所有东西都封装起来,同时支持泛型。它是杂糅的,它复杂而不纯粹,但是强大。学习C++,首先是C++语言本身,你会逐渐熟悉class(类)、template(模板)、继承(inheritance)和异常处理(exception handling)的概念,然后无可争议的学习C++标准组件,一些通用工具,一些小技巧,接着是由此搭建的STL(标准模板库),其中包括Container(容器)、Iterator(迭代器)、Function Object(函数对象)及Lambda,还有STL Algorithm(算法),这些内容你可能交替看很多本书才会明白,会花费你相当一部分时间,这个过程是迭代的,就是说你可能看不明白或忘记了需要温习以前学过的知识才能继续看下去,我省略了很多内容,一如许多作者在他们的著作中精心的剔除某些内容,对许多复杂的名词做一些简单无聊的罗列不但没有意义,还会使人畏惧,我不想令初学者畏惧,但也不想让你们觉得太轻松,上面的每个名称背后的内容都需要花费一到两个月才能基本掌握,C++可不容易。我还要奉劝一句,不要迷信别人说的(这是因为铺天盖地的资讯令人眼花缭乱,许多不服责任的营销号乱说一气,自相矛盾,同时大量不明真相的群众见风是雨,推波助澜),说一句残酷的话,大多数人都是平庸而没有真知灼见的。最后我想鼓舞一下正在或将要学习c++的人,当然,也包括学习别的技术的人,我不太会鼓励别人也很少鼓励别人,因为遇见一个值得我这样做的人太难太难了,与找到一个有热情、专注、执着的人相比,c++的难度简直不算什么。是的,即使C++很难我也鼓励你们学习它,这是为了使广大的学习它的人能够增添一点信心,能够多一些人来学习它。一个好的良师益友总是帮助他人而不是打击他,我绝不会去嘲笑那些努力学习想要有所收获的人,相反我会鼓励,这样的人没人有资格嘲讽。大多数人唯一的障碍就是抵抗不住自己的惰性或是忍受不了周遭的嘲讽,有人是不自信的,觉得自己没可能学会这么难的东西,然而事实上我的经验是我所遇到的所有我一开始觉得太难无法掌握的东西最后都掌握了。 如果能够因为我而使坚定学习它的人多那么一点,我会感到非常安慰并由衷的为你高兴。我反对因为c++困难而转投别处的想法,很简单,若是c++困难你放弃了,你终会因为同样的原因再次放弃,我更加反感那些给出这些建议的人,希望你们慎重的考虑自己的建议会有什么后果。有教无类,我不怕别人说一千次你不行,就怕你开口说一句,这是我最怕的。
只要把指针, 封装, 继承,多态, 模板 这几样彻底弄明白, c++就算入门了.
64,643
社区成员
250,606
社区内容
加载中
试试用AI创作助手写篇文章吧