0
点赞
收藏
分享

微信扫一扫

JVM 知识总结

标题:[C++ STL] vector 详解

@水墨不写bug



 正文开始:

一、背景

二、容器简介

三、容器接口

(1)默认成员函数

i,构造函数

default (1)
explicit list (const allocator_type& alloc = allocator_type());

默认构造,创建一个没有元素的空链表。

list<int> l1;
cout << l1.size() << endl;
//输出0,链表内默认没有任何元素

fill (2)
explicit list (size_type n);
list (size_type n, const value_type& val,
const allocator_type& alloc = allocator_type());

创建一个链表,有n个元素,并将这n个元素初始化为设定值val(如果没有设置,默认初始化为0)。

list<int> l1(5,1);
for (const auto e : l1)
	cout << e << " ";
cout << endl;

range (3)
template <class InputIterator>
list (InputIterator first, InputIterator last,
const allocator_type& alloc = allocator_type());

范围初始化,根据迭代器(也可以是其他类型迭代器)区间内的元素的值拷贝来初始化list:


	vector<int> v1={1,2,3,4,5};

	list<int> l1(v1.begin(), v1.end());
	for (const auto& e : l1)
		cout << e << " ";
	cout << endl;
    

ii,析构函数

iii,拷贝构造

copy 
list (const list& x);
list (const list& x, const allocator_type& alloc);

在创建新对象时用已经存在的对象对它初始化:

list<int> l1 = { 5,6,8,9 };
list<int> l2(l1);
list<int> l3 = l1;

for (const auto& e : l2)
	cout << e << " ";
cout << endl;

for (const auto& e : l3)
	cout << e << " ";
cout << endl;

iv,赋值重载

copy (1)
list& operator= (const list& x);

实现两个list对象的赋值操作:

list<int> l1 = { 5,6,8,9 };
list<int> l2;
l2 = l1;

for (const auto& e : l2)
	cout << e << " ";
cout << endl;

(2)迭代器接口

i,begin()

ii,end()

iii,rbegin()

iv,rend()

v,cbegin()

vi,cend()

vii,crbegin()

viii,crend()

(3)容量接口

i,empty()

ii,size()

iii,max_size()

(4)元素获取

i,front()

ii,back()

(5)修改

i,push_front()

ii,pop_front()

iii,push_back()

iv ,pop_back()

v,insert()

vi,erase()

vii,swap()

viii,resize()

ix,clear()

(6)常见算法接口

i,splice()

ii,remove()

iii,remove_if()

iv,merge()

v,sort()

vi,reverse()

 

目录

一、背景

二、容器简介

三、容器接口

(1)默认成员函数

i,构造函数

ii,析构函数

iii,拷贝构造

iv,赋值重载

(2)迭代器接口

i,begin()

ii,end()

iii,rbegin()

iv,rend()

v,cbegin()

vi,cend()

vii,crbegin()

viii,crend()

(3)容量接口

i,empty()

ii,size()

iii,max_size()

(4)元素获取

i,front()

ii,back()

(5)修改

i,push_front()

ii,pop_front()

iii,push_back()

iv ,pop_back()

v,insert()

vi,erase()

vii,swap()

viii,resize()

ix,clear()

(6)常见算法接口

i,splice()

ii,remove()

iii,remove_if()

iv,merge()

v,sort()

vi,reverse()



完~

未经作者同意禁止转载 

举报

相关推荐

JVM的小知识总结

jvm基础知识总结

JVM知识点总结

JVM知识总结(简单且高效)

JVM知识点总结二

jvm知识

0 条评论