标准模板库

来源:互联网 发布:票乎下载 编辑:程序博客网 时间:2024/06/05 20:32
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);
原创粉丝点击