在大多数开发或者准开发人员的认识中,C/C++ 是一门非常难的编程语言,很多人知道它的强大,但因为认为“难”造成的恐惧让很多人放弃。

这个世界本来就是残酷的,所以你不能怪C++向你展示了世界的本质

大家都觉得很难等你攀登到高峰的时候发现,原来前面还有比这更高的山峰,等着你去继续攀登。

 

C++为什么难?

1、C++语法规则多:本身想通过各种规则克服C语言里面由于语法规则不清晰导致在运行过程中出现的一些错误,这下让初学者倒霉了,很多初学者在学到泛型编程会觉得编译过去太费劲了,好多条条框框卡的死死的,必须要按照语法规则走才能进行下去,而且就语法细节来讲,零散的需要掌握的细节多如牛毛,有的程序员已经做了好多年对于有些C++语法规则还是觉得陌生的很。

2.C++语言的更新速度惊人:其语言本身还在进化,其实大家还在学着一门还在不停升级到编程语言,而且还会出现这种情况,等你费了九牛二虎之力掌握了一些语法细节之后,发现新的更新完的时候,已经把之前的都丢弃了。

3.C++操作指针:本身指针已经很具有复杂性,再加上泛型编程,整个更加热闹了,既追求性能的极致化,还想编程模式灵活性,背的担子异常沉重,以至于很多人在学完C++之后,学了一堆语法发现不能立即用上,还需要在特殊的场景才能使用上,对于绝大部分对于这门编程语言还没熟悉之前,算是一种精神的折磨。

4:缺乏实操:身边许多程序员都说难导致自己没有信心去尝试学习,缺乏动手实践造成C++的基本知识点都没掌握上。

 

为什么要学C++呢?

C++是很多架构师的最爱,也是很多编程大咖的最爱,记得十年前在某著名编程网站的论坛里面,特别是C++论坛里面经常见很多C++大咖在里面指导江山,很多小白忙活了半天的代码,让大咖几句话搞掉,在真正掌握这门编程语言,并且深深的掌握其内在规则之后,使用起来会感觉特别舒畅,仿佛把之前所有的阴霾一扫而空。

现在很多有名的软件框架都能看到C++的影子,其实很简单,在进行面向对象的框架设计还能不影响效率首选只能是C++,现在大家使用的安卓手机的框架层很多代码都是C++,还有大家天天使用的浏览器内核代码几乎全是C++。

在很多领域C++有着不可比拟的优势,学会了会明白为啥这门语言属于编程语言的王者,为什么有这么多人学不会还要硬着头皮继续学,可以说C++是一门啃着最有滋味的编程语言,痛苦并快乐着。

 

应该怎么学习C++这门语言呢?

1、学习C++书籍(Accelerated C++, C++ Primer),尽量多的完成书籍的习题,可以帮助完成C++语法的学习。虽然前面的书籍涵盖了标准库,但是不够完善,这个时候你可以选择在线查阅C++标准库这种泛型的学习方式,也可以选择阅读《C++标准库》的方式进行学习。通过这样的步骤,你应该可以完成C++的初步学习了。

2、尝试写C++代码来解决问题。比如写一个简单的XML Parser,这个时候,你应该会发现很多问题,如效率,代码规范等,这个时候,你可以研究Effective C++,Google C++ Code Standard等,只有自己犯了错,回过头反省才会更加深刻。

3、加入程序员的社群。在程序员的圈子能更加积极的学习新的知识,学习编程有一个学习的氛围跟交流圈子特别重要!所以这里我推荐一下这个C语言C++交流群954607083,不管你是小白还是大牛欢迎入驻,大家一起交流成长。

最新文章

  1. 自定义cell右侧 多按钮
  2. 3.mvc core 文件目录详细的解释
  3. matlab 视频转换到图像并保存
  4. IE浏览器不能自动显示PDF文件的解决办法
  5. React和ES6(二)ES6的类和ES7的property initializer
  6. uTenux\AT91SAM3S4C开发套件———硬件电路介绍
  7. C# 页面抓取类
  8. oracle-审计导数
  9. iOS多线程自定义operation加载图片 不重复下载图片
  10. Entity Framework技术导游系列开篇与热身
  11. ubuntu下编译内核驱动。
  12. Spring事务处理
  13. mini设计模式
  14. OAuth2.0学习(1-2)OAuth2.0的一个企业级应用场景 - 新浪开放平台微博OAuth2.0认证
  15. EF Core 快速上手——EF Core的三种主要关系类型
  16. java 根据某个数字,计算前后多少天的具体日期
  17. SQL Server实际执行计划COST"欺骗"案例
  18. ERROR [main] master.HMasterCommandLine Master exiting
  19. Netty 服务端:新连接接入
  20. SDRAM---页读写

热门文章

  1. HDU 3068:最长回文(Manacher算法)
  2. django基础知识之布署:
  3. secureCRT背景颜色
  4. android_onSaveInstanceState_onRestoreInstanceState研究
  5. 学习2:总结# 1.while # 2.字符串格式化 # 3.运算符 # 4.编码初始
  6. 预学第二天:计算机的基础知识+python安装+pycharm安装+思维导图
  7. Java编程思想:NIO知识点
  8. JQuery学习笔记(3)——节点操作 节点查找
  9. linux 安装命令 nginx 部署
  10. python基础一整型、bool、字符串