您的位置:首页 > 编程语言 > C语言/C++

《c++标准库》 第2版 学习笔记 准备知识 持续更新中

2019-01-18 10:24 197 查看

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函数

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: