同步操作将从 Yj/CPlusPlusThings 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
感谢各位对《C++ 那些事》的支持,现将内容也同步至网站,可以打开网站直接阅读~欢迎大家 star、转发、PR。
因服务器到期,暂时关闭以下站点,请大家阅读仓库即可,感谢支持。
公众号已开放两大入口,分别是专辑与菜单,可以直接在微信公众号上阅读《C++ 那些事》内容,配上该仓库的代码,将会非常的爽,建议大家关注一波。
个人公众号:guangcity; 联系方式: wechat: gcxzhang, 备注:来自github
欢迎大家反馈及 C++ 交流,本人在微信创建了 C++ 那些事交流群,优质的 C++ 资源交流区,期待大家关注上面公众号,点击公众号右下角->联系我,拉你入群。
另外,下面是我自己建立的知识星球,会带大家做一些小项目以及源码解读等方面成长。
代码环境
Ubuntu 18.04
编辑工具
CLion
编译器
gcc/g++
尽量用 g++,因为一开始我用的 vim 写的,所以纯 g++,后来用编译器 CLion,部分有 CMakeLists.txt 文件,直接导入就行,后面会更新这个文件包含整个项目,持续关注~
这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。
const
那些事static
那些事this
那些事inline
那些事sizeof
那些事vptr_vtable
那些事virtual
那些事volatile
那些事assert
那些事extern
那些事struct
那些事struct
与 class
那些事union
那些事c
实现 c++
多态那些事explicit
那些事friend
那些事using
那些事::
那些事enum
那些事decltype
那些事基本 c++ 语法
递归、结构体、枚举、静态变量等
函数
函数深入
继承多态
虚函数、抽象类
运算符重载
模板与 STL
异常
文件与流
├── 中括号重载.cpp ├── 时钟++运算符重载.cpp ├── 运算符重载之强制转换.cpp └── 重载圆括号的时钟.cpp
├── 函数模板.cpp
├── 动态数组.cpp
├── 字典插入与查找.cpp
├── 异常捕获.cpp
├── 类模板之栈.cpp
├── 类模板特化之数组.cpp
├── 继承与封装.cpp
├── 读写文件综合题.cpp ├── 输入输出运算符重载.cpp ├── 输入输出重载.cpp ├── 输出格式.cpp
C++2.0 是一个简称,意为「现代 C++」,包括 C++11/14/17/20。
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后可以正常通过
for(decl:col) {
statement
}
如果你自行定义了一个 ctor
, 那么编译器就不会给你一个 default ctor
如果强制加上 =default
, 就可以重新获得并使用 default ctor
.
Alias(化名) Template (template typedef)
容器-结构与分类
array
(C++2.0 新引入),vector
,deque
,list
,forward_list
(C++2.0 新引入)set/multiset
,map/multimap
hash_xxx
为 unordered_xxx
)包括:unordered_map/unordered_multimap,unordered_set/unordered_multiset
学习资料: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
对吴老师的代码进行了修改,点击此处直通代码
输入:
map<int, int> mp{
{1, 1},
{2, 4},
{3, 9}};
cout << mp << endl;
输出结果显示:
{ 1 => 1, 2 => 4, 3 => 9 }
贡献人 | 地址 |
---|---|
光城 | https://github.com/Light-City |
ChungZH | https://github.com/ChungZH |
xliu79 | https://github.com/xliu79 |
如果觉得不错,赞助我吧~
![]() 支付宝 |
![]() 微信 |
---|
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。