精华内容
下载资源
问答
  • 学习C++方法总结

    万次阅读 多人点赞 2018-09-08 09:49:06
    看了这篇文章才知道自己最近太浮躁了,做技术也是做人。 读者定位是两类人群:a.初学者,即将入手 C++ 语言、不知道如何开始;b.已经开始学习C++许久了,却进度缓慢,抓不到精髓,倍感迷茫。 本文不会深入到...

    转自:http://blog.csdn.net/yong2016/article/details/9321837

    看了这篇文章才知道自己最近太浮躁了,学做技术也是学做人。

     


    1. 读者定位是两类人群:a.初学者,即将入手 C++ 语言、不知道如何开始;b.已经开始学习C++许久了,却进度缓慢,抓不到精髓,倍感迷茫。
    2. 本文不会深入到C++语言内部挖掘技术点。
    3. 如果你自诩C++高手,请绕道;如果你本就是C++高手,开发经验丰富,可以对本文提一些建议。
    4. 本文将结合我自己的学习经历和经验,谈一谈 C++ 应该如何学习,以及扩展到编程领域的一些想法和看法。
    5. 文章中提及书籍的时候没有评价。我的书籍推荐中列举了一些 C++ 书籍,都有我的相关评价,感兴趣的可以看一看。

     


    正文


    为什么 C/C++?

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

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

    C++ 就是 C 的衍生品之一,兼容 C 语言。起初的目的是扩展 C 语言“C with Classes”,但是后来随着发展,C++ 标准中加入了:虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)等。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》。其实好书和差书很容易区分,厚度和价位是一个很关键的点,通常薄薄的,又便宜,书名却非常霸气的告诉你如何精通,那你果断扔了,想都不要想。


    加一句广告:C++Primer中函数这一章,大家可以看https://blog.csdn.net/qq_34029983/article/details/88367006,总结的还算到位,哈哈,自我评价,还希望大家指正。


     

    选择一个好的IDE

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

    那个套餐NB么?NB! 酷么?太酷了!学么?可以学,但不是现在。现在你需要的输入几行代码,然后运行处结果,如果有小问题,可以方便调试的工具。gcc,vim/emacs,gdb,linux 必须承认,它们很优秀,但是学好很需要时间。不夸张的说,入手vim/emacs or linux 比入手 C++ 的时间只多不少。初学者一定要相信这一点,网上太多人吹嘘学 C++ 不应该用 IDE ,就应该直接 文本编辑器+GCC 用 GDB 调试,进而言语鄙视 IDE 。我不知道你抱着什么心态,我只想说你入门是那样入门的吗?当时有没有 IDE ?你了解 IDE 吗?你公司用什么开发?

    IDE 调试底层调用的也是调试工具,对调试工具进行封装,使之更为人性化了些。技术永远不是用来炫酷和装B,是用来解决实际问题的。因此,不管你用什么语言,什么工具,什么平台,只要能把事情做好就行了。

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

    IDE 我推荐使用 CodeBlocks,C++ 标准支持的好,开源,跨平台,免费,非常优秀。Microsoft Visual Studio 20XX 也是可以的。忠告:同学们,千万不要再用 VC++ 6.0 了,对 C++ 标准支持极差,谨记!

    我学习一直用的是 CodeBlocks 10.05 今天好像已经是 12.11 ,软件开发用的是:VS2005,VS2008,VS2010。个人感觉 08 没有 05 和 10 好用。

    保持一颗平静的心

    给大家看一篇文章:“21天教你学会C++”。“想要 21 天学会C++,首选需要花8年时间学会 C++,然后去学量子物理,生物化学,分子生物学,以及遗传学,制造“返老还童”药剂,把自己传送回学编程的21天”——这是迄今为止我所知道的最容易的《Teach Yourself C++ in 21 Days》,推荐大家去看看原文。

    大家再去看一篇文章:“C++ 程序员自信心曲线图”,“对于大多数的自称自己熟悉C++的程序员来说,基本上来说他们都是用C++的语法来写C。”

    保持一颗平静的心是很重要的,切记不要急于求成,切记不要浮躁。学习 C++ 不是三天两天的事情,文中也说了,用 10 年时间来学习编程。你准备好了吗?

    有人天真的以为学几天 C++ 就可以写软件了,后来发现学了之后还是什么也干不了,软件需要界面,于是去学 MFC,学了 MFC 后才发现 MFC 没什么,反而是 C++ 基础太差,反过头来继续学习 C++。那个天真的人就是我,我就是这么过来的。高端的背后也无非都是一行行基础的代码,只要把基础打好了,高端也就没什么了(这里的高端并不是特指 MFC 高端,基础也不是特指 C++,任何事物我想都是一样的)。我想告诫大家,打好基础比学高端的技术要有用的多,所以不要急。

    还需要什么?

    我觉得足够了,一本好书,一个好IDE,一颗平静的心态(当然你要有一台PC机了)。有三点我需要说明一下,第一,平台的选择,这个无所谓的,C++ 是跨平台的,学 C++ 标准就好了;第二,去培训机构培训会不会学的快一点?我对培训只用两个字总结“扯淡”,真是扯淡。第三,视频学习?我不推荐。就好像很多人学MFC,看孙鑫的视频一样。我们又不是小孩子了,学东西需要手把手吗?再者说了,手把手教的东西都是死的。当你手里握着一把锤子的时候,你会发现这个世界全都是钉子。解决问题的方法有很多种,视频能教给你的只是那么固定的一种或者几种,思维定势是很可怕的事情。

    我个人是非常不赞同去花钱培训,或者呆呆的在电脑前面看视频。

    学习是一种经历,进而这种经历就变成了你宝贵的经验。遇到问题,勤于思考分析,查阅资料,逐渐的培养出了自己快速、独立解决问题的一套方法,这才是你的财富,这才能以不变应万变。对于程序员来说,就是对 BUG 敏锐的嗅觉。

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

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

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

    作为这样的一篇文章,这个探讨几乎是必须要做的。我的观点很明确,要学!因为我先学 C 语言,后学的 C++ 的,而且学习使用过程中无数次穿插的相互学习。我的程序中从来没有刻意的区分这是 C 还是 C++,我把握的标准是怎么样方便怎么来。就好像文件读写我从来都不用 C++ 的文件流,因为我习惯了 C 语言的 fread、fwrite、 fopen、 fseek、 ftell 等等。我是站在语言的语法和库的角度来说“要学”的。如果你要学面向对象的话,那就没必要学 C 了,好像也没有学 C++ 的必要了,你可以选择一个纯面向对象的语言去学面向对象岂不更好。总结,以我的个人经历来说,学 C++ 可以先学习 C 语言(观点已明确,探讨结束!)。

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

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

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

    如何实现入门?

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

    C++进阶(技术研究)

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

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

    如何实现进阶?

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

    C++高手(走出C++)

    参考标准:面向对象编程,泛型编程

    面相对象和泛型编程是 C++ 的精粹,学好这些方面光靠书本上的知识是不够的,只有大量的实战才能切身体会它们的优势。

    很多人自以为自己C++学的很不错了,其实他只是在用C的方式写C++代码而已,这句话不无道理。

    如何成为高手?

    • 看书 《面向对象分析与设计》,《设计模式——可复用面向对象软件的基础》,《泛型编程与STL》《C++模板元编程》等。
    • “实战->感悟->总结->实战->感悟->总结……”如此循环

    C++脑残粉(回首C++)

    参考标准:为什么 C++ 是 C++

    去了解C++的历史,它的哲学观。为什么 C++ 包括现在这些成分,为什么会如此复杂,为什么会有那么多的缺陷。总之,为什么 C++ 成为了 C++ ,而不是别的?这实在是值得思考的一个问题。

    如何成为脑残粉?

    1. 看书。《C++语言的设计和演化》
    2. 搜集野史。

    好了,总结了这许多,我个人理解的 C++ 学习历程应该是这样的。但是并不意味你看了我列举的书籍都成为高手了。一来,我列举的书籍不够全面;再者,我在上文中不断重复的两个字眼是“实战”,书上的东西永远是死的,只有经过不断的实战才能将这些知识融会贯通。


    接下来我们漫谈 C++ 学习吧,我喜欢漫谈,上面这种中规中矩方式不是我擅长的(我擅长的是闲扯淡)。把 C++ 孤立起来的学习过程是缓慢的,只有脑子中有了整个的一个“计算机知识体系”,才能相互促进,进步的才快。

    什么是计算机知识体系呢?

    1. 操作系统。这算是计算机第一大课。没有原因,必须要学好。进程管理?内存管理?文件管理?I/O通信?
    2. 计算机组成原理。整数的加减乘除?浮点数表示法?补码?中断与DMA?
    3. 汇编语言。不要求能写,但是能看懂代码的反汇编就够了。
    4. 数据结构和算法。不做解释。
    5. 编译原理。“scanner->parser->semantic analyzer->source code optimizer->code generator->target code optimizer”可有印象?
    6. 计算机网络。TCP/IP?
    7. C语言

    看了这几项,你也许会说:“卧槽,那个,那个不就是我当年逃过的课嘛?”,没错,这就是我们当年逃过的课,它确实这般的重要。不求别的,只要你了解这几大课,我敢说你 C++ 中的大部分关于内存,编译器编译链接的问题已经解决了。而且不管你是学 C++,还是学其他技术,水到渠成,一点就透。因为这是基础,你把基础打好了,万变不离其宗的。

    你现在所会的 C++,你自以为学的很不错,可是你给别人2个月或者3个月时间耐心学,一样可以学的和你一样,甚至比你要好。那么你学的价值在哪儿呢?我学了好几年的C++别人几个月一样可以学到?是的,你以为C++有多少东西?!怎么样才能做到别人超不过你呢?

    1. 学习这些计算机体系大课,你脑中的体系结构已经和你学的 C++ 融合到了一起,你脑中的类是存在内存中的,你的递归是在栈中不断的压栈,而他的只看到的是代码。这也就是为什么我不赞成你培训机构的原因,培训机构不会教会你这些学科大课的。他只会告诉你C++的函数是怎样声明的,类要怎样书写,而这些 100 块钱买一本书,坐着看几天都学会了。何必花那么多钱去培训。
    2. 多写代码,多调程序。培养错误的感知能力。
    3. 学会挖掘,多思考。

    如果你的 C++ 仅仅停留在表面上的,卖弄技术,别人三两个月学的一定比你好。

    前几年混迹 CSDN ,老赵的一句话非常之流行:“计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……”,确实很有道理。

    再看本文的题目吧:如何学习 C++,其实我的重点不想放在 C++ 上,我更想探讨的是如何学习的问题,C++ 只是一个实例。

    现在的互联网是浮躁的,导致现在的学生是浮躁的,都想一步登天。现在学习环境的肮脏的,是个人都想出来赚几声吆喝,就拿博客园的首页口水战一样,你喷我,我喷你,其实到最后都不知道大家在喷什么,只知道必须站出来喷一下证明自己的存在!这是多么可悲的一个环境。有这闲工夫多写几遍技术文章不必什么都强?新技术层出不穷,眼花缭乱,不知道该什么,有人说好的,必定有人在喷。作为新手,你当如何选择?我开始庆幸我当时的无知,无知给了我更少的选择,才有了选择。作为一个旁观者,我能做的不多,我不敢深入其中,只能站的远远的呐喊。

    “我建议大家把那几个学科大课学好,把C语言学好,然后再去选择其他编程语言。一步一步的来,不要急。”

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

    1. 多交流:不管你的技术多么硬,你都不可能一个人做完所有的事情,你要学会与别人合作,与别人交流。交流过程中,要注意交流技巧。学会尊重别人,但要不亢不卑。
    2. 多动手:熟能生巧,这是万能之理。我们干的是技术活,最能证明自己能力的就是干!不是扯淡!
    3. 多思考:不要做编码机器。
    4. 多总结:相同的问题不可能只出现一次,尤其是在我们这个行业。总结是为了你在以后更快的解决类似的问题,提高工作效率。
    5. 多分享:分享的更多,你会得到的更多,相信我。
    6. 多阅读:多聆听:不要仅限于技术,你要了解的不只是技术。同样的问题,听一听别人是怎么想的,怎么思考的,你会得到更多。
    7. 永远不要做拿来主义:没有人有义务帮你搞定问题,不要张口就要,给你你很幸运,不给你也不是别人的错。

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

    展开全文
  • 对于为什么要学习C++语言,这一点,想必很多人都官方的或者不官方的说过很多。...很多初学者,对C语言、c++的概念都是模糊不清的,C语言、c++是什么,能做什么,的时候该按照什么线路去学习,完...

    对于为什么要学习C++语言,这一点,想必很多人都官方的或者不官方的说过很多。当然,我结合我从事C++编程的经验来讲。


        对于我本人来讲,我很喜欢C++语言。喜欢总是有原因的。如果你喜欢一个语言,但是不知道喜欢它什么,那么这样是有点假的。你喜不喜欢没有人去纠结这点。

    很多初学者,对C语言、c++的概念都是模糊不清的,C语言、c++是什么,能做什么,学的时候该按照什么线路去学习,学完往哪方面发展,想深入了解,详情可以点击有道云笔记链接了解:http://note.youdao.com/noteshare?id=bd7b6584fb92a7af9851901d7af4dd77

    我也不教科书式的介绍C++有什么优点之类的。我坐在电脑前,不翻阅其他资料,仅凭自己的现在的所思所想来将最贴近我们的一些说出来。将那些高大上的名词堆砌出来,没什么意思,对于真实的学习指导意义不大,反而感觉枯燥无味。似乎还想去记忆C++的好处,然后跟别人说的时候感觉自己是知道的。而我们的课程,并不需要你去记这些东西,也不需要应付考试,全凭自己内心深处的感觉,就学习了。所以,心中最疑惑的地方,也就是我们需要讲的地方。

     

        以前我也试着记忆C++的几大特性,然而经常教条式的记忆,也就忘记了。这种东西,不是为了考试,一点记忆的价值都没有。如果说我现在需要知道,说要跟你讲,我百度一下就出来了。输入“C++特性”,保证可以搜到一大堆。然而不是说,不记忆等于不学习它。我们课程后面会介绍C++语言的这些特性的。我们只需要将这些概念理解了,就可以了。然而理解了并不意味就是结束,而实际真正有意义的是融会贯通,将这些思想用在实际的开发中。这才是真正的目的,学这些思想,就是为了运用,甚至产生新的思想,这就是站在巨人肩膀上创新。

     

        那么我就来说说为什么要学习C++语言。你不必去记忆我说的这些东西,你在你的心里,如果得到认可,就打个印象分,找到C++的好处,可以作为选择C++的理由,这些也是你喜欢C++的理由。

     

        纵观各种编程语言,C语言、C++语言、Java、C#。。。,要说一个技术思想覆盖最广的,只有C++语言了。这是我一直很喜欢C++的原因之一。C++是技术思想的集大成者,C++现在说是C的超集,是远远不够的。超集也就是说,C++涵盖了C的所有技术点,同时还有很多技术点。Java、C#都是技术思想偏窄的语言,适用于特定领域。Java适用跨平台的,C#是最适合.Net框架的语言等等,C语言适合底层的开发。

     

        从C++的发展趋势来看,C++一直保持活力,不断扩展更新,不断地完善自己融入新的思想。C++也发展了很多版本,我们一般人学习的,都是C++98版,默认都是这个版本。新的有C++11版,C++14版,C++17版正在商讨中。版本号是按照年份来的,C++98就是1998年定制的标准。不同的版本也就是支持的特性不一样,版本越新,支持的特性思想也就越多。

     

        而这些版本,以C++98来讲,都具备很强大的覆盖面。C++支持的基本思想有面向过程、面向对象、泛型思想、模板元等等。至于更新的,就没有研究太多。

     

        面向过程就是C语言支持的思想,是最基本的。面向过程的核心是模块化编程,以函数为单位进行组织,从而提高开发效率。C语言没有面向对象,也就显得轻便简单,所以运行效率很高,适合开发硬件底层方面,因为语言本身也不复杂,相对于C++而言的,所以很轻巧。因为C/C++支持指针的直接操作,所以可以直接操作硬件,所以更适合底层。这是他们的最大的优势。而其他语言,操作是可以,不过是间接的,语言内部做了各种检测和处理,为了安全起见,防止指针错误。

     

        而C++从C语言发展过来,借鉴了C语言的所有特点,并兼容C语言所有特性语法。所以C++语言同样具备C语言的各种特性。如果你不用C++的其他特性,就可以用做C语言一样了。这样,基本没什么区别。但是如果这样的话,那用C++还有什么意思呢?

     

        而Java和C#语言是纯面向对象的语言,即使是一个控制台程序,都封装成一个类的模式,将main函数作为类的静态函数,就变成了全局的函数,也就可以模拟成C一样的main了。

     

        C++语言因为兼具面向过程和面向对象的思想,因此,在C++中可以和C语言一样的使用main函数,而其他地方可以和java、C#一样使用类。非常的灵活,而且不必将main扭曲包装到一个类中,看起来都很累。

     

    从上面你可以看到,C++语言上得了厅堂下得了厨房。面向对象的思想给快速开发提供了很大的支持,使用封装的类,可以不用重复写相同的代码。其他的地方,只要用你这个类就行。因为是封装到了一个类,各种相关函数都放在一起,所以,使用上也就方便多了,而不像C语言的各种库函数非常的零散,经常找不到有那些相关的函数。

    展开全文
  • 学C++有几层含义,一个是学C/C++语言,另一个是学面向对象编程思想,再有就是学习 linux 及相关的 linux C++ 环境编程。 嵌入式底层的话(不知道你怎么理解嵌入式,但是千万不要认为嵌入式就是简单的单片机开发,或...

    从今天开始正式学习C++,学嵌入式,C++学学没坏处,除了基本语法过一遍之外,看看Effictive C++基本就够了。学了不一定以后一定会用,但是没有直接用到不等于白学。学C++有几层含义,一个是学C/C++语言,另一个是学面向对象编程思想,再有就是学习 linux 及相关的 linux C++ 环境编程。

    嵌入式底层的话(不知道你怎么理解嵌入式,但是千万不要认为嵌入式就是简单的单片机开发,或是 arm-linux 开发,我觉得嵌入式应该对软硬件,计算机体系结构,FPGA,DSP,ARM-linux,模拟数字电路这些东西都要有所了解,并在几个方面有所专长) C/C++,gcc,linux开发工具链,linux命令,编译链接原理,操作系统这些还是必需的。其实作为计算机相关这些基础知识都是必需的。(其实有人想说,现在很多人不会这些也找了钱不少的工作啊,这就是为啥国内现在阶段技术水平不高的原因。历史总是向前发展的。)

    不要在乎学习的细节,会什么并不重要,关键是认准觉得自己应该变成什么,如何去面对自己的目标不断的完善自己知识体系,学习新知识,规划,把握,执行的能力。不断的开拓视野,不断刷新世界观。

    C++程序由一个或者多个被称为函数的模块组成。程序从main()函数(全部小写)开始执行,因此该函数必不可少。函数由函数头和函数体组成。函数头指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。函数体由一系列位于花括号{}中的C++语句组成。

    有多种类型的C++语句包括以下6种

    • 声明语句:定义函数中使用的变量的名称和类型
    • 赋值语句:使用赋值运算符(=)给变量赋值
    • 消息语句:将消息发送给对象,激发某种行动
    • 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句
    • 函数原型:声明函数的返回类型、函数接收的参数数量和类型
    • 返回语句:将一个值从被调用的函数哪里返回到调用函数中

    类.是用户定义的数据类型规范,他详细描述了如何表示信息以及可对数据执行的操作。

    对象.是根据类规范创建的实体,就像简单变量是根据数据类型描述创建的实体一样

    C++提供了两个用于处理输入和输出的预定义对象(cin和cout),他们是istream和ostream类的实例,这两个类是iostream文件中定义的。为ostream类定义的插入运算符(<<)使得将数据插入到输出流成为可能;为istream文件中定义的抽取运算符(>>)能够从输入流中抽取信息。cin和cout都是智能对象,能够根据程序上下文自动将信息从一种形式转化为另一种形式

    展开全文
  • 新手如何学习C++

    千次阅读 2019-01-20 20:52:00
    很多同学听人家说C++是世界上最难的编程语言,因此觉得学会了C++就代表自己技高一筹,如果你也真是这么想,建议还是放弃学习,我们提倡学以致用,而不是为了别的什么。对于完全的新手来说,我一般不建议你学习C++...

    微信扫码阅读完整版

    很多同学听人家说C++是世界上最难学的编程语言,因此觉得学会了C++就代表自己技高一筹,如果你也真是这么想,建议还是放弃学习,我们提倡学以致用,而不是为了别的什么。对于完全的新手来说,我一般不建议你学习C++,因为如果没有其它编程语言经验或者计算机基础,学习C++的曲线又比较陡,容易造成缺乏成就感的现象。不管怎样,既然你学习的决心坚定,那就出发吧。

    这是我文章《新手如何学习Java》、《新手如何学习Python》的姊妹篇,在Java那篇文章里,我已经说了一些写作背景相关的内容,比如如果你是完全的新手,没有任何其它编程语言经验的,我会推荐你先去看看我的编程启蒙系列。共四篇文章不满五千字,看完后会让你对计算机的基本组成原理、程序是如何编写出来并怎样被运行起来有一个比较直观的认识,然后再来看这边文章的后续部分。

    ……

    展开全文
  • 学习C++的意义

    千次阅读 2018-04-15 15:34:18
     至于为什么要学习C++,本菜不想卷入各大派别的纷争,只是简单地来聊聊对于C++的看法,首先来看看2017年3月份计算机语言的排行榜,可以看到C++在前三占有一席,如果心细的朋友会发现,C/C++语言这几年,...
  • C++教程系列1:学习C++的准备

    千次阅读 多人点赞 2020-02-10 18:41:00
    今早起床一看 2020.2.10 ...可以看到,学习C++(cpp)的人数还是挺多的,毕竟C++程序员的最低工资是4000元最高工资是37500元! 很多人都知道,近几年有一种程序语言火爆了起来,它就是Python,其实Pyt...
  • 如何学习C++

    千次阅读 多人点赞 2013-07-13 23:38:19
    感谢作者的总结 关于本文 ...读者定位是两类人群:a.初学者,即将入手 C++ 语言、不知道如何开始;b.已经开始学习C++许久了,却进度缓慢,抓不到精髓,倍感迷茫。本文不会深入到C++语言内部...如果你本就是C++
  • 学习C++之前要C语言吗?

    千次阅读 多人点赞 2018-04-19 16:28:51
    C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 6S 和 iPhone 6、Win10 和 Win7 的关系。从语法上看,C语言是C++的一...
  • 学习C++有没有必要学习boost库?

    千次阅读 2019-01-14 09:52:52
    学习C++有没有必要学习boost库? https://www.zhihu.com/question/39817943   学习 C++ Boost 之前,是否需要对 STL 很熟悉? https://www.zhihu.com/question/19738274
  • C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。 从语法上看,C语言是 C++ ...
  • 学C++之前要先学C语言吗?

    千次阅读 2017-07-03 16:42:18
    很多没有过C语言的初学者可能会这样问:学习C++之前要先学习C语言吗? 我对这个问题保持中立,但是初学者直接学习C++会非常吃力,Hold 不住。C++是一门灵活多变、特性丰富的语言,同时也意味着比较复杂,不易掌握...
  • 为什么学C++比C#的长期风险低

    万次阅读 热门讨论 2010-09-16 12:36:00
    学C++的长期风险要远远低于别的语言
  • 如何学习c++c++用途

    千次阅读 2011-03-23 12:26:00
    了很长时间的VC后  还是得回过头来学习C++语言本身。    那么学习C++从何处入手了?  C++语言相对于C语言来说引入了两个大的新东西,一个就是面向对象(具体来将就是类  )...
  • 为了学c++而先学c的都是浪费时间!

    万次阅读 2018-08-19 11:23:13
    我在c++吧看到一些培训机构的广告,课程安排差不多长这样: c语言入门 c语言精通 c++入门 c++精通 实际应用、等。。。...不吐槽这个课程安排是否真的能“精通”,也不谈后面的...那么,学c++之前真的需要先学c吗? ...
  • 如何利用《C++ Primer》学习C++

    千次阅读 多人点赞 2015-08-14 16:00:14
    C++ Primer》作为久负盛名的C++经典教程,丰富的教学辅助内容、精心组织的编程示范,无论是初学者入门,或是中、高级程序员提升,都是不容置疑的首选。一本好书只有读过才有价值,然而《C++ Primer》这本厚如砖头...
  • 学习c++的50个网站

    千次阅读 2018-09-20 10:59:11
    大家都说学Java好找工作,可是Java我都遗忘好久了,大一大二...继续学c++吧,这是一条不归路。我现在还在学c++语法和数据结构,准备毕业设计做一个关于c++方向的。学好一门语言走遍天下都不怕。   http://bbs...
  • 从《C++ Primer 第四版》入手学习 C++

    万次阅读 多人点赞 2012-07-06 08:54:20
    C++ Primer 第4版 评注版》即将出版,这是序言。PDF 版见:https://github.com/downloads/chenshuo/documents/LearnCpp.pdf从《C++ Primer 第四版》入手学习 C++为什么要学习C++?2009 年本书作者 Stan Lippman...
  • 想学习C++,有什么值得推荐的书?用什么软件编程最好,求推荐!怎样才能 尽快掌握C++
  • 如何正确的通过 C++ Primer 学习 C++?(转自知乎) 作者:dawnmist 链接:https://www.zhihu.com/question/32087709/answer/54936403 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 个人经验,C++ ...
  • 怎样学习C++

    千次阅读 2007-02-09 16:21:00
    Kingofarks50 Points of View About Learning C++ And Programming关于学习C++和编程的50个观点(2003修订版)Revision 2.0前 言Long long time ago, on a topic far far away……是的,很久很久以前,kingofark无心之...
  • 学习 C++ 到底有什么好处?

    千次阅读 2019-06-28 17:46:40
    学C++本身是教不会你编程的。你需要主动的、不断的扩展自己的知识领域。 写一个学生管理系统是一个很好的开端;但接下来,你还需要学习更多。 举例来说,“图形界面”究竟是怎么一回事呢? 我们知道,计算机屏幕...
  • 《跟我一起学C++

    千次阅读 2014-05-16 18:51:13
    《跟我一起学C++》视频下载地址:   《跟我一起学C++》第一季(入门篇)总共38集,目录列表如下: 01C++介绍 为什么要学习C++ C++为什么难学 C++ 11值得学习的新特性 几本推荐的书籍 开发工具选择 02从C...
  • |||C语言|||我觉得还是学习完C言再学C++好C言是编程的最基础啊 但是我个人不这样认为 所以建议先学c;但是也有人说学c++最后不要学c 比较抽象 但是c++是面向对象的 更接近一半人的思维模式 而且是面向过程的 先c后...
  • 学C++前途怎么样,薪资待遇好不好?

    千次阅读 2020-03-07 18:53:43
    与Java、.NET相比,C++是一种应用范围更广、运作效率更高的编程语言,软件开发行业...那么学C++的就业前景和薪资水平怎么样? 1、C++技术应用广泛,掌握C++技术是通往一流企业的敲门砖 目前,C++技术在很多行业应用...
  • 在很多大学计算机或软件专业的教程中,C语言及C++往往作为必修课,JAVA...那么,作为一个想要往软件领域发展的童鞋来说,先学C++还是先学JAVA?如果打算毕业从事java开发,有必要学习C++吗?下面就针对这个问题给大家...
  • java程序员快速学c++

    千次阅读 2014-04-03 16:51:41
    java程序员快速学c++ java程序员学cplus,其实大部分的语法是一样的,但是对java程序员来将,还是有写难点需要注意。看完这些还不能保证会写c++程序,不过一般的程序可以看懂,要写的话要多多练习。 ---这是一...
  • 终于确定要学c++

    千次阅读 2010-12-16 23:24:00
    之前一直在犹豫到底哪门语言:c++,c#,java.java我是不考虑的。让我为难的是c++,和c#.后来看了很多的文章也咨询了很多的学长老师。我确定了我要学习c++.有人说c++很难,了会让人失去信心。说java,和c#相对简单也...
  • 学C++是否还有价值?

    万次阅读 热门讨论 2010-01-03 00:05:00
    对于他们而言,无所谓存在是否要学C++的问题。他们所处的环境,所做的业务,已经决定了他们只能使用何种语言。更进一步,那些得道的大侠,语言只不过是他们的工具,信手拈来,他们心中已经没有语言,他就是语言,...
  • 我想学习C++但是不知道从那开始,希望能有人说一下,不过先说一下,我英语不怎么的,嘿嘿

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 158,735
精华内容 63,494
关键字:

学c++

c++ 订阅