5.1 KiB
5.1 KiB
C++那些事
0.项目概要
学习C++内容,包括理论、源码、实践、课程代码、项目等
1.基础部分
- const那些事
- static那些事
- this那些事
- inline那些事
- sizeof那些事
- 函数指针那些事
- 纯虚函数和抽象类那些事
- vptr_vtable那些事
- virtual那些事
- volatile那些事
- assert那些事
- 位域那些事
- extern那些事
- struct那些事
- struct与class那些事
- union那些事
- c实现c++多态那些事
- explicit那些事
- friend那些事
- using那些事
- ::那些事
- enum那些事
- decltype那些事
- 引用与指针那些事
- 宏那些事
2.进阶部分
2.1 effective_c++
正在更新...
2.2 C++2.0新特性
- Variadic Templates
- Spaces in Template Expressions
vector<list<int> > //ok in each C++ version
vector<list<int>> // before c++ 11 error error: ‘>>’ should be ‘> >’ within a nested template argument list,c++11后可以正常通过
- nullptr and nullptr_t
- Automatic Type Deduction with auto
- Uniform Initialization
- initializer_list
- explicit for ctors taking more than one argument
- range-based for statement
for(decl:col) {
statement
}
-
如果你自行定义了一个ctor,那么编译器就不会给你一个default ctor 如果强制加上=default,就可以重新获得并使用default ctor.
-
Alias(化名)Template(template typedef)
- template template parameter
- type alias
- noexcept
- override
- final
- decltype
- lambda
- Rvalue reference
- move aware class
- 容器-结构与分类
(1) 序列式容器包括:array(C++2.0新引入),vector,deque,list,forward_list(C++2.0新引入)
(2) 关联式容器包括:set/multiset,map/multimap
(3) 无序容器(C++2.0新引入,更换原先hash_xxx为unordered_xxx)包括:unordered_map/unordered_multimap,unordered_set/unordered_multiset
学习资料:https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
2.3 C++并发编程v1
学习资料:https://chenxiaowei.gitbook.io/cpp_concurrency_in_action/
2.4 STL源码剖析
stl源码剖析:gcc4.9.1
- array
- deque
- queue and stack
- list
- vector
- typename
- traits
- iterator
- 谈谈STL设计之EBO优化
- rb_tree
- set and multiset
- map and multimap
- hashtable
- myhashtable
- unordered_map
3.学习课程
3.1 极客时间《现代C++实战30讲》
4.拓展部分
4.1 C++惯用法
你最喜欢的c++编程风格惯用法是什么?
4.2 一些问题
5.代码运行
- 代码环境
Ubuntu 18.04
- 工具
CLion gcc/g++
6.关于作者:
个人公众号: