1.什么是C++?
c语言只适合小规模,小体量的程序
对于大规模和抽象的程序,c语言则不合适
于是,1982年,Bjarne Stroustrup博士在c语言的基础上引入了oop概念,并命名为C++
(Bjarne Stroustrup:【编程江湖系列之C++语言创始人比雅尼 斯特劳斯特鲁普 Bjarne Stroustrup-哔哩哔哩】 https://b23.tv/G6C62KV)
2.C++的发展史
对于初学c++,我们要着重了解c++98和c++11
c++98:
C++标准第一个版本,绝大多数编译器都支持,得到了国际标准化组织(ISO)和美国标准化协会认可,以模板方式重写C++标准库,引入了STL(标准模板库)
c++11:
增加了许多特性,使得C++更像一种新语言,比如:正则表达式、基于范围for循
环关键字新容器列表初始化标准线程库等
业课环、auto关键字、新容器、列表初始化、标准线程库等
3.C++的重要性
3.1语言使用的广泛度
TIOBE编程社区近年来统计,C++语言使用率一直维持在前五
注:使用率多少,并不意味着语言的好坏。
3.2在工作领域
a.操作系统以及大型系统软件开发
b.服务器端开发
c.游戏开发
d.嵌入式和物联网领域
e.数字图像处理
f.人工智能
g.分布式应用
3.3在校招领域
a.岗位 软件后端开发 C++开发工程师等等。
b.接下来,我们来看一下某一位学长面试腾讯时的岗位要求,及所运用的知识点
【某学长腾讯面经】
1. 自我介绍2. 实习项目 【项目】3. C++ 面向对象特性,C++ 中多态实现机制,虚继承是如何处理二义性的问题的? 【C++】
就业4. 智能指针 【C++】5. TCP三次握手、四次挥手,TCP 如何实现可看到传输? 【网络】
特就6. 当三次握手第三次报文丢掉时,此时服务器端、客户端分别处于什么状态? 【网络】
特就7. 为什么要等待2MSL?如果有大量的连接处于TIME_WAIT状态,有何影响? 【网络】
比特8. UDP如何实现可靠传输? 【网络】
比特9. mysql数据库存储引擎?B+树比B树好在哪里?数据库事务及特性 【数据库】
比特10. 进程间通信方式,进程和线程的区别 【操作系统】
比特11. 虚拟内存到物理内存如何映射的?常见的页面置换算法有哪些? 【操作系统】
比12. map,unorder_map区别和应用场景 【C++】
比13. vector、list区别? 【C++】
比14. 算法题:反转单链表 【数据结构/算法】15. 算法题:二叉树的最大路径和 【数据结构/算法】
4.如何学习C++
4.1别人是怎么学习C++的呢?
以下是个人学习的四个阶段
a.C++基础
b.正确高效的使用C++
c.深入解读C++
d.研究C++
当前,我们的目标应是达到b/c,在后续的工作实践中,慢慢靠近d阶段
4.2那么我们自己应该怎么学呢?
我认为,对于初学者,应在这几个方面同时进行
a.看书/教程
b.实践代码(重要)
c.写博客
d.刷leetcode或牛客
最后
我将对C++进行继续解读,后续完全免费,
永久在线的我也欢迎各位随时与我交流沟通!!