C++primer5阅读笔记3(STL)

C++primer5阅读笔记3(STL)

1、STL标准模板库:vector容器、algorithm算法、iterator迭代器、仿函数、适配器(配接器)、空间配置器

2、容器:序列式容器、关联式容器;算法:质变算法、非质变算法

3、string: assign、append、find、rfind、replace、compare、at、insert、erase、substr

4、vector不能用下标形式添加元素

5、如果容器为空,begin和end都返回尾后迭代器

6、vector中swap函数可用于收缩内存

vector<int>(v).swap(v);

7、双端数组deque,和vector相比没有容量的概念

8、array允许拷贝和赋值,但不能直接赋花括号

array<int, 2> a = {0, 1};
array<int, 2> b = a;

a = {0}; # 错误

9、除string外,swap不交换元素本身,只交换容器的数据结构

10、每次改变容器的操作之后,都要重新定位迭代器

11、string

name.find_first_of(number)

12、算法永远无法改变底层容器的大小

13、lambda表达式

[capture list] (parameter list) -> return type {function body}
#参数列表和返回类型可忽略,捕获列表通常为空
#lambda不能有默认参数
auto f = [&v] () mutable {return ++v;};
v = 0;
auto j = f(); # j = 1

14、参数绑定bind

15、输出流

vector<string> vec = { "fwd", "is", "good" };
ostream_iterator<string> out_iter(cout, " ");
for (auto e : vec)
	*out_iter++ = e;
cout << endl;

16、逆序

sort(vec.rbegin(), vec.rend());

17、关联容器set、map

18、pair对组

pair<string, int> p;
# p.second

19、

multiset<Sales_data, decltype(compareIsbn)*> bookstore(compareIsbn);

20、添加单一元素的insert和emplace返回一个pair,pair的first成员是一个迭代器,指向给定关键字的元素;second成员是个bool值,表示是否从插入成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值