add stl video link
感谢各位对《C++ 那些事》的支持,现将内容也同步至B站,以视频的方式展示,可以打开网站直接阅读~欢迎大家 star、转发、PR。
在线个人博客:光城的实验室
在线学习网站:C++那些事
这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。
推出一系列重磅项目,带大家实战学习C++,配合本开源项目学习,成长飞快!
直通点:戳这里
公众号已开放两大入口,分别是专辑与菜单,可以直接在微信公众号上阅读《C++ 那些事》内容,配上该仓库的代码,将会非常的爽,建议大家关注一波。
个人公众号:guangcity
或者扫下面的二维码,欢迎大家反馈及 C++ 交流,本人在微信创建了 C++ 那些事交流群,优质的 C++ 资源交流区,期待大家关注上面公众号,点击公众号右下角->联系我,拉你入群。
关注我
如果觉得不错,关注我吧~
新推出免开发环境,docker环境,大家可以pull下面镜像:
docker pull xingfranics/cplusplusthings:latest
第一期:Step By Step上手编译本项目
第二期:免开发环境docker
第三期:手把手共读HashTable,彻底搞懂C++ STL
第四期:手把手共读STL之enable_shared_from_this
第五期:手把手共读STL之线程,从C++11 thread到C++20 jthread
第六期:手把手共读STL之共读condition_variable、condition_variable_any
第七期:手把手共读STL之Mutex
第八期:手把手共读STL之RAII Lock
互联网大厂面试实录
拿下offer之必备面经
const
static
this
inline
sizeof
vptr_vtable
virtual
volatile
assert
extern
struct
class
union
c
c++
explicit
friend
using
::
enum
decltype
day1-基本语法
day2-递归、结构体、枚举、静态变量等
day3-函数1
day4-函数2
day5-继承多态
day6-虚函数与抽象类
day7-运算符重载
day8-模版与STL
day9-异常
day10-文件与流
中括号重载.cpp
时钟++运算符重载.cpp
运算符重载之强制转换.cpp
重载圆括号的时钟.cpp
函数模板.cpp
动态数组.cpp
字典插入与查找.cpp
异常捕获.cpp
类模板之栈.cpp
类模板特化之数组.cpp
继承与封装.cpp
读写文件综合题.cpp
输入输出运算符重载.cpp
输入输出重载.cpp
输出格式.cpp
C++2.0 是一个简称,意为「现代 C++」,包括 C++11/14/17/20。
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 }
=default,=delete
如果你自行定义了一个 ctor, 那么编译器就不会给你一个 default ctor 如果强制加上 =default, 就可以重新获得并使用 default ctor.
ctor
default ctor
=default
Alias(化名) Template (template typedef)
template template parameter
type alias
noexcept
override
final
lambda
Rvalue reference
move aware class
容器-结构与分类
array
vector
deque
list
forward_list
set/multiset
map/multimap
hash_xxx
unordered_xxx
unordered_map/unordered_multimap,unordered_set/unordered_multiset
Hash Function
tuple
学习资料:https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
待更新…
STL 源码剖析:gcc 4.9.1
学习资料:https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/
学习自: https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4
学习自:
https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4
对吴老师的代码进行了修改,点击此处直通代码
输入:
map<int, int> mp{ {1, 1}, {2, 4}, {3, 9}}; cout << mp << endl;
输出结果显示:
{ 1 => 1, 2 => 4, 3 => 9 }
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
C++ 那些事
感谢各位对《C++ 那些事》的支持,现将内容也同步至B站,以视频的方式展示,可以打开网站直接阅读~欢迎大家 star、转发、PR。
在线个人博客:光城的实验室
在线学习网站:C++那些事
这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。
重磅项目
推出一系列重磅项目,带大家实战学习C++,配合本开源项目学习,成长飞快!
直通点:戳这里
关于作者
公众号已开放两大入口,分别是专辑与菜单,可以直接在微信公众号上阅读《C++ 那些事》内容,配上该仓库的代码,将会非常的爽,建议大家关注一波。
个人公众号:guangcity
或者扫下面的二维码,欢迎大家反馈及 C++ 交流,本人在微信创建了 C++ 那些事交流群,优质的 C++ 资源交流区,期待大家关注上面公众号,点击公众号右下角->联系我,拉你入群。
如果觉得不错,关注我吧~
星球
微信公众号
项目运行
方式1: vscode + bazel
方式2: docker
新推出免开发环境,docker环境,大家可以pull下面镜像:
方式3: g++
视频学习本项目
第一期:Step By Step上手编译本项目
第二期:免开发环境docker
第三期:手把手共读HashTable,彻底搞懂C++ STL
第四期:手把手共读STL之enable_shared_from_this
第五期:手把手共读STL之线程,从C++11 thread到C++20 jthread
第六期:手把手共读STL之共读condition_variable、condition_variable_any
第七期:手把手共读STL之Mutex
第八期:手把手共读STL之RAII Lock
飞书知识库
互联网大厂面试实录
拿下offer之必备面经
基础进阶
const那些事static那些事this那些事inline那些事sizeof那些事vptr_vtable那些事virtual那些事volatile那些事assert那些事extern那些事struct那些事struct与class那些事union那些事c实现c++多态那些事explicit那些事friend那些事using那些事::那些事enum那些事decltype那些事实战系列
10 日狂练
day1-基本语法
day2-递归、结构体、枚举、静态变量等
day3-函数1
day4-函数2
day5-继承多态
day6-虚函数与抽象类
day7-运算符重载
day8-模版与STL
day9-异常
day10-文件与流
重点实战练习
中括号重载.cpp
时钟++运算符重载.cpp
运算符重载之强制转换.cpp
重载圆括号的时钟.cpp
函数模板.cpp
动态数组.cpp
字典插入与查找.cpp
异常捕获.cpp
类模板之栈.cpp
类模板特化之数组.cpp
继承与封装.cpp
读写文件综合题.cpp
输入输出运算符重载.cpp
输入输出重载.cpp
输出格式.cpp
C++2.0 新特性
概况
C++2.0 是一个简称,意为「现代 C++」,包括 C++11/14/17/20。
C++11 新特性
Variadic Templates
Spaces in Template Expressions
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
=default,=delete
如果你自行定义了一个
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
容器-结构与分类
array(C++2.0 新引入),vector,deque,list,forward_list(C++2.0 新引入)set/multiset,map/multimaphash_xxx为unordered_xxx)包括:unordered_map/unordered_multimap,unordered_set/unordered_multisetHash Function
tuple
学习资料:https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
C++14/17/20
待更新…
设计模式
STL 源码剖析
STL 源码剖析:gcc 4.9.1
并发编程
C++ Concurrency in Action
学习资料:https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/
多线程与多进程
Threading In C++
C++ 惯用法
你最喜欢的 c++ 编程风格惯用法是什么?
学习课程
极客时间《现代 C++ 实战 30 讲》
工具篇
容器快捷输出工具
对吴老师的代码进行了修改,点击此处直通代码
输入:
输出结果显示:
像 Python 一样简单输出(Jupyter Notebook)
观察编译过程变化
C++ 的 Debug 工具 dbg-macro
在 Linux 上的 Debug 工具 rr - 拥有回到过去的能力
拓展部分
一些问题
贡献者