C++这么难,为什么还要学习C++呢?如何学?
C++这么难,为什么还要学习C++呢?如何学?
在大多数开发或者准开发人员的认识中,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,不管你是小白还是大牛欢迎入驻,大家一起交流成长。
原文地址https://www.cnblogs.com/junzi11/p/11337125.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【从入门到放弃-Java】并发编程-JUC-locks-ReentrantLock
前言 ReentrantLock是非常常用的锁,在前面【从入门到放弃-Java】并发编程-JUC-LinkedBlockingQueue在我们了解到,LinkedBlockingQueue入队、出队都是依赖ReentrantLock进行锁同步和线程唤醒、等待的。本文来学习下ReentrantLock。 ReentrantLock /** * Creates an instance of {@code ReentrantLock}. * This is equivalent to using {@code ReentrantLock(false)}. */ public ReentrantLock() { sync = new NonfairSync(); } /** * Creates an instance of {
- 下一篇
日志收集-Elk6
一:前言ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。 Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。 Filebeat隶属于Beats。目前Beat...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装Docker,最新的服务器搭配容器使用
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境