C++代码相关

vector

  • vector清空
    • 清空元素,但不回收空间
vecInt.clear();
j= vecInt.capacity(); // j=512
i = vecInt.size(); // i=0
    • erase循环删除,结果同上
vector <int>::iterator iter=vecInt.begin();
for ( ; iter!=vecInt.end() ; )
{
	iter=vecInt.erase(iter);
}
j= vecInt.capacity();    // j=512
i = vecInt.size();       // i=0 
    • swap,清除元素并回收内存
vector <int>().swap(vecInt);  //清除容器并最小化它的容量,
// vecInt.swap(vector<int>()) ;     另一种写法
j= vecInt.capacity();       //j=0  
i = vecInt.size();          //i=0   

std::map常见用法

C++ Map常见用法说明

  • 插入操作
    • [] 单个插入: 存在键值key,赋值修改操作,如果没有则插入
    • insert 进行单个和多个插入
// 插入单个键值对,并返回插入位置和成功标志,插入位置已经存在值时,插入失败
pair<iterator,bool> insert (const value_type& val);
//在指定位置插入,在不同位置插入效率是不一样的,因为涉及到重排
iterator insert (const_iterator position, const value_type& val);
// 插入多个
void insert (InputIterator first, InputIterator last);
//c++11开始支持,使用列表插入多个   
void insert (initializer_list<value_type> il);
  • 取值
    • at和[ ]两种操作,at会作下标检查,而[]不会
map<int, string> ID_Name;
//ID_Name中没有关键字2016,使用[]取值会导致插入
//因此,下面语句不会报错,但打印结果为空
cout<<ID_Name[2016].c_str()<<endl;
//使用at会进行关键字检查,因此下面语句会报错
ID_Name.at(2016) = "Bob";
  • 容器查询
// 查询map是否为空
bool empty();
// 查询map中键值对的数量
size_t size();
// 查询map所能包含的最大键值对数量,和系统和应用库有关。
// 此外,这并不意味着用户一定可以存这么多,很可能还没达到就已经开辟内存失败了
size_t max_size();
// 查询关键字为key的元素的个数,在map里结果非0即1
size_t count( const Key& key ) const; //
  • 迭代器
  • 删除交换
  • 顺序比较
  • 查找
  • 操作符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值