标准模板库

vector<double>::iterator pd;
vector<double> scores;
pd = scores.begin();
*pd = 22.3;
++pd;
pd = scores.end();//指向容器最后一个元素后面的那个元素
scores.erase(scores.begin(), scores.begin() + 2); //第一个迭代器指向区间的起始处,第二个迭代器位于区间终止处的后一个位置

if it1 和it2 是迭代器,则stl文档使用[p1,p2)来表示从p1到p2的区间。


scores.insert(scores.begin(), new_c.begin(), new_c.end());//第一个元素指定了新元素的插入位置,第二和第三个迭代器参数定义了被插入的区间。

vector<int>::iterator pr;
for(pr = books.begin(); pr != books.end(); pr++)
showreview(*pr);

可替换为,这样可避免显示地使用迭代器变量。

for_each(books.begin(),books.end(),showreview);

random_shuffle(books.begin(), books.end());//接受两个指定区间的迭代器参数,并随机排列该区间中的元素。该函数要求容器类允许随机访问。

sort(books.begin(),books.end());//升序排列

bool operator<(const Review & r1,const Review & r2)
{
    if (r1.title < r2.title)
    return true;
}

基于范围的for循环

double prices[5] = { 4.99, 10.99};
for (double x: prices)
    cout << x << std::endl;
for (double &x : prices)
    x = x * 0.8;
for(int x : {3, 5, 2})
    cout << x << " ";
cout << '\n';
for_each(books.begin(), books.end(), ShowReview);

可替换为

for ( auto x : books) ShowReview(x);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值