《c++标准库》 第2版 学习笔记 准备知识 持续更新中
c++标准库功能的强大,在刷LeetCode的时候深刻的体会到,所以把看这本书的重要知识点摘抄上来:
c++新特性:
c++11的更新是一个很大的革新,所以先了解一下c++11的新特性,以及很多很实用的东西:
1. 以auto完成自动类型推导:
auto i = 42 //此时i是一个int型变量
以auto声明的变量,需要跟据其初值推导其变量类型,所以需要对其进行初始化。
2. 列表初始化:
std::vector<int> v{1,2,3,4,5,6,7};
3. range-based for 循环:
[code]std::vector<int> v{1,2,3,4,5}; for(auto c:v){ std::cout << c << std::endl; }
4. lambda:
这个关键字在之前学习《Python学习手册》也看到过,真的很好用。
一个lambda表达式一个可调用的代码单元。我们可以把它理解为一个为命名的内联函数。与任何函数类似,一个lambda具有一个返回类型、一个参数列表和一个函数体。但与函数不同的是,lambda可能定义在函数内部。
[capture list](parameter list) ->return type{function body}
捕获列表是一个lambda所在函数中定义的局部变量的列表(通常为空);其余与正常函数类似,但与普通函数不同的是,lambda必须使用尾置返回。且lambda不能有默认参数。
例:
[code][](const string & a, const string &b) { return a.size() < b.size();}
例:
[code]stable_sort(words.begin(), words.end(), [](const string &a, const string &b) { return a.size() < b.size();})
值捕获:引用捕获 隐式捕获& =
4. decltype类型指示符:
decltype(f()) sum = x; //sum的类型就是f()的返回类型
一些一般概念:
1. namespace std:
2. 头文件:
3. error and exception:
4. callable object
5. 并发与多线程
一些通用工具:
1. pair and tuple
2. 智能指针
3. 辅助函数 min max minmax swap
4. 常用c函数
- JAVA基础知识学习笔记(持续更新中。。)
- Start Python 学习笔记(琐碎知识,持续更新。。。)
- 重拾CCNA,学习笔记持续更新ing......(5)
- 新手的ubuntu学习笔记,持续更新
- 个人学习过程中遇到的疑难杂症(笔记,持续更新中……)
- linux命令学习笔记-持续更新版
- Python学习笔记——持续更新
- 【学习笔记】JMX1.4总结(持续更新)
- postgresql学习笔记(一)---持续更新中
- scala 学习笔记-持续更新中
- linux内核完全剖析 学习笔记 打字太累 截图 持续更新
- Hadoop学习笔记---持续更新中。。。
- linux学习笔记... ...持续更新ing
- UNIX技术内幕学习笔记(持续更新中)
- Git学习笔记(持续更新)
- cocos2d-x学习笔记(持续更新)
- 重拾CCNA,学习笔记持续更新ing......(3)
- 爱学习的小帅之Android面试笔记一(持续更新中....)
- 【Python灰帽子--黑客与逆向工程师的Python编程之道】我的学习笔记,过程.(持续更新HOT)
- [持续更新]JavaScript学习笔记(五)