C++学习笔记
1、push_back()函数
函数原型
void push_back(value_type_Ch);
功能:在Vector最后一个元素后面添加一个新的元素。参数value_type_Ch为要插入的值。
1)在容器中添加数字;
int num = 10;
vector vec;
vec.push_back(num);
2)在string中最后插入一个字符;
string str;
str.push_back(‘d’);
vector是用数组实现的,每次执行push_back操作,相当于底层的数组实现要重新分配大小(即先free掉原来的存储,后重新malloc)
vector容器中添加元素:
方法一:
insert() 插入元素到Vector中
iterator insert( iterator loc, const TYPE &val ); //在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器
void insert( iterator loc, size_type num, const TYPE &val ); //在指定位置loc前插入num个值为val的元素
void insert( iterator loc, input_iterator start, input_iterator end ); //在指定位置loc前插入区间[start, end)的所有元素
方法二:
push_back() 在Vector最后添加一个元素(参数为要插入的值)
vector容器中删除元素:
方法一:
clear() 清空所有元素
empty() 判断Vector是否为空(返回true时为空)
方法二:
erase() 删除指定元素 (可以用指针来代替迭代器)
iterator erase( iterator loc ); //要删除元素的迭代器
iterator erase( iterator start, iterator end ); //要删除的第一个元素的迭代器,要删除的第二个元素的迭代器
方法三:
pop_back() 移除最后一个元素
方法四:
采用通用算法remove()来删除vector容器中的元素, 不同的是,采用 remove 一般情况下不会改变容器的大小,而pop_back()与erase()等成员函数会改变容器的大小。
2、string类下的begin,end,rbegin,rend的用法
begin
语法:iterator begin();
解释:begin()函数返回一个迭代器,指向字符串的第一个元素.
end
语法:iterator end();
解释:end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置).
rbegin
语法:const reverse_iterator rbegin();
解释:rbegin()返回一个逆向迭代器,指向字符串的最后一个字符。
rend
语法:const reverse_iterator rend();
解释:rend()函数返回一个逆向迭代器,指向字符串的开头(第一个字符的前一个位置)。
仅记录学习难点,后续会继续添加