如何快速上手C++ ?

825805d5f8b40246b70f82ca4aec9e25.png

0.导语

《C++那些事》开源项目目前2.9W star,这个项目是我在研一下,研二上那个阶段整出来的,当时目标就是为了满足自己找工作的需求而写的,所以大家如果找工作看我的C++那些事,是非常有帮助的!

本文呢,就是对C++那些事的详细阐述以及阐述每一块怎么学,我是怎么学的,C++那些事未来要做什么,以及面试重难点,职业发展等。

公众号已发表原创498篇,即将破500,哈哈!

5473178fc5bd180ab00ad3a87b082c0f.jpeg

这里再给大家分享一下那些事的公众号专栏入口!点击下面文字即可访问。

《C++那些事》专栏

e1070fca0a4ae111b67d83b711c351c2.jpeg

C++那些事项目地址:

https://github.com/Light-City/CPlusPlusThings

1.入门

看书/学校课程学习,一般就上课用的书或者比较经典的很厚的那个C++ Primer,个人不太推荐看这个书,不过如果在校学生学习的话,研读这本书还是蛮好的。

本人入门Cpp是在研一下,具体的内容对应《C++那些事》的第二部分《实战系列》,其中的大多数内容是我在准备考试阶段学习到的,如果你是一个在校生,这一块也是非常不错的,如果是入门选手,更是宝贵的学习资料。

随后,推荐以下几本书:

https://book.douban.com/subject/1842426/

《Effective C++》 豆瓣评分 9.5分

其实,看完上述这本书对于敲代cpp代码是有一定的感觉的,如果你是边学习边练习的话,肯定入门了,否则那再来一遍吧。

这一块可以对应C++那些事的十日狂练

重磅通知:十日狂练升级版已在星球更新,目前已开更,有对应题目加代码讲解,以及涉及知识点回顾。非常适合新手实战学习。

如果想要加入星球的,可以扫下方二维码领取优惠劵哦,目前定价120,领取后101可拿下,后续每加入20人涨价50。

402e5aaf7d7ddfb8dc8b7218f5c1ceca.png

2.新特性

现在用的比较多的是C++11版本,当然面试过程或多或少会问一些,虽然现在也有14/17等,但是面试以及实际工作中用处不太多。例如:nullptr与null、0的区别? 怎么初始化?经常会被问到,这一块的内容对应于我的《C++那些事》当中的C++2.0新特性,这一块的学习我是根据侯捷老师的b站课程(仓库上学习资料可见)以及后面推荐的书籍学习的。

强烈推荐下面这本书的英文原版!我个人是看了一遍,收获很大的!

https://book.douban.com/subject/25923597/

《Effective Morden C++》豆瓣评分9.4分

涉及这一块的代码,大家可以跟我的C++那些事代码库一起码起来。

这一块对应的热点面试题:智能指针,左值与右值。

3.面试及进阶

这里我将面试与进阶放到了一块是因为,你如果准备面试,光掌握上述的知识点还远远不够,而进阶的同时又是与面试知识息息相关,因此放到了一块。

1.这一块我强烈推荐大家学习C++那些事项目中的基础进阶部分,这一块的内容既是基础,也是面试常考点!就跟考试一样,高考考的都是一些很基础的东西,基础不牢,地动山摇。在基础的之上,你该考虑上一层楼了,此时就是我自己研究了2个月的STL源码,源码对应版本是gcc4.9.1,我自己花了2个月时间,每天抽一点时间,将STL的源码进行了剖析,每一部分都有文档即代码,算是非常详细了,这一块的内容是我C++那些事的核心!非常非常重要!对应的热点面试题:vector内存增长方式?map底层数据结构?

2.面试还会考察设计模式,设计模式通常有些晦涩难懂,代码复杂,如果语言基础不牢固,可能会绕晕,因此这一块的东西,请选择重点的部分学习,例如:单例模式、工厂模式。这两种是面试的热点,可以先学习一下,此处对应于C++那些事第四部分设计模式。

3.最后,可以看看一些并发编程相关的内容,实际上面试考察的不多!但是考察的却通常是操作系统相关的内容,例如:多线程、多进程,进程通信,线程通信。

4.基础素质

上述4大部分是你去学习C++入门及进阶的必走之路,cpp学习是一条苦海之路,你需要一些过硬的基础素质,这些在上述是没有提到的,下面一一列举。此处对应于Linux C++后台开发人员。

  • Linux基础

    • 基础命令:例如:ls,cd等

    • vim使用:查找、替换、删除等

    • 网络故障排查及抓包:例如:netstat、tcpdump等

    • Gdb调试、Gcc/G++

  • 操作系统

    • 进程

    • 线程

  • 数据库(Mysql、Redis)

    • Mysql事务

    • Redis底层原理

  • 服务器

    • Nginx特性

  • 云部署

    • Docker

    • K8s (非必须)

基础素质这一块,将会在《C++那些事》未来加入,期待大家长期关注本项目!

5.工作发展

此处仅仅代表我的个人职业看法,很多人对C++找工作不解,不知道就业有什么岗位,这里我推荐几个。

  • 音视频开发

  • 后台开发

  • Qt开发

  • AI底层开发

  • 驱动开发

  • 数据库

下面是之前分享的ppt页面,也share出来。

af0033c6623c5f67f653b192fc90d8a9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值