首页 > C++ 阅读:756,920

周哥教IT-C++入门到精通

C++ 诞生于1980年,起初被称为“C with Class”,即有类的C语言,1983年7月正式更名为C++。 1983年, Bjarne Stroustrup把他所听说过的一切都试图嫁接到C上,创造出了C++。 C++是在C的基础上,以SIMUAL 67的方式对命令式编程的面向对象扩展。C++的成功在于完全兼容C的情况下支持了面向对象,从而使面向对象编程成为了命令式编程的一个子类,传统的命令式编程被叫做面向过程编程。 因为对C的完全兼容,ASNI在1989年的标准化版本C 89,合并了C和C++,称为C/C++。 C/C++的最重要版本是1999年的C 99。几乎吸收了当时被认为比较有效的计算机语言特性:面向过程编程、面向对象编程、泛型编程、自定义操作符重载等。 由于C/C++吸收了太多的语言特性,使得C/C++成为世界上最难精通的语言。 我们把C++11及之后的标准叫做现代C++。C++11为C++98发布后13年来的第一次重大修正:包含约140个新特性,以及对C++03约600个缺陷修正。脱胎换骨,“看起来像一门新语言”,性能也得到了极大的提升。


C++之父Bjarne stroustrup
C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言,也就是后来长期统治互联网的编程语言Java。

招聘信息:

C++职位最新招聘信息大全

VIP视频课程 

C++面向对象与STL库
现代C++精讲
C++20编程详讲
C++并发编程
C/C++一站式学习
精通C/C++指针
Linux C/C++开发

课程课件

C++课程课件pdf

课程参考

C++课程参考cplusplus
第1章 序言
1.从一次失败的面试经历说起
2.从C++98到现代C++
3.课程适用对象
第2章 泛型编程入门
1. 泛型编程之模板函数
2.泛型编程之模板类
3.typename与class的区别
第3章 C++11重要内容提纲
1.C++11重要内容提纲
第4章 右值引用
1.什么是左值(lvalue)和右值(rvalue)?
2.什么是左值引用?
3.什么是右值引用?
4.通用引用(universal references)
5.引用折叠规则
6.完美转发, std::forward
第5章 移动语义
1.浅拷贝带来的问题
2.传统拷贝构造函数
3.移动构造函数
4.std::move
5.std::forward和std::move区别
6.拷贝赋值函数与移动赋值函数
7.noexcept
8.vector与移动语义
第6章 类型推导
1.auto类型推断
2.auto的作用
3.auto注意事项
4.decltype推导
5.auto结合decltype返回值占位
6.decltype与auto区别
第7章 智能指针
1.C++内存管理与垃圾回收
2.智能指针概念
3.实现一个简单的智能指针:SmartPtr
4.早期智能指针的不足
5.unique_ptr
6.智能指针-shared_ptr:基本使用
7.shared_ptr注意事项
8.shared_ptr循环引用例子
9.shared_ptr多线程安全问题
10.weak_ptr
11.weakptr应用场景(1)-缓存
11.weakptr应用场景(2):避免循环引用和野指针
11.weakptr应用场景(3):观察者列表
11.w树型结构用什么指针?
11.weak_ptr解决循环引用问题
11.weak_ptr解决多线程安全问题
11.智能指针比较分析
11.make_shared和new的区别
第8章 C++11对类定义的改进
1.新标准对类的改进主要内容
2.=default,=delete
3.使用delete而不是private来禁用函数
4.委托构造函数(Delegating constructors)
5.constexpr构造函数(1):理解constexpr
6.constexpr构造函数(2)
7.POD( Plain Old Data )-plain
8. POD( Plain Old Data )-old
9.POD-Plain Old Data
10.指explicit构造函数
11.final关键字
12.override关键字
13.继承构造函数
第9章 STL容器改进
1. STL容器提纲
2.forward_list
3.std::array
4.cbegin,cend
5.swap
6.提高容器插入效率:emplace/emplace_back
7.shrink_to_fit
8.unordered_map概述
9.unordered_map存放内建型别数据
10.unordered_map存放自定义数据
11.unordered_map rehash
12. unordered_map与map比较
13.vector列表初始化
第10章 Lambda闭包
1.结Lambda闭包
第11章 std::function类模板
1.可调用实体&仿函数
2.std::function类模版
3. std::bind(1)
4.std::bind(2)-绑定仿函数
5. std::bind(3)-类函数和成员
第12章 空指针:nullptr
1.空指针:nullptr
第13章 列表初始化
1.列表初始化(1)
2.列表初始化(2)-阻止类型收窄
第14章 for语句的新写法
1.for语句的新写法
第15章 枚举类或强类型枚举
1.枚举类或强类型枚举
第16章 类型别名声明:using与typedef
1.类型别名声明:using与typedef
第17章 多线程支持
1.多线程支持
第18章 C++14标准提纲
1.C++14标准提纲
2.Lambda参数支持auto
2.C++14constexpr函数
2.C++14类型推导:decltype(auto)
2.Lambda参数支持auto
2.二进制常量
第19章 C++17标准
1.C++17标准(1)
2.C++17标准(2)
第20章 C++20展望
1.C++20展望
第21章 C++就业-企业需求与求职建议
1.C++就业-企业需求与求职建议

底部图片广告2_PC

周哥教IT,一个分享编程知识的公众号。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不烧脑细胞,人人都可以学习。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841, 期待您的加入!

二维码
微信扫描二维码关注