我是靠谱客的博主 紧张手链,最近开发中收集的这篇文章主要介绍C++PrimerPlus(第6版)中文版Chapter16.8vect2.cpp:学习size,begin,end,push_back,erase,insert的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

学习vector 的size(),begin(),end(),push_back(),erase(),insert()的使用

// Example16_8vect2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <string>
#include <vector>
struct Review {
std::string title;
int rating;
};
bool FillReview(Review & rr);
void ShowReview(const Review & rr);
int main()
{
// std::cout << "Hello World!n";
using std::cout;
using std::vector;
vector<Review> books;//books 是一个vector,里面的元素类型是Review类型,Review是个结构体
Review temp;
while (FillReview(temp))
books.push_back(temp);//将元素添加到vector的末尾
int num = books.size();
if (num > 0)
{
cout << "Thank you.You entered the following:n" << "RatingtBookn";
for (int i = 0; i < num; i++)
ShowReview(books[i]);
cout << "Reprising:n" << "RatingtBookn";
vector<Review>::iterator pr;
for (pr = books.begin(); pr != books.end(); pr++)
ShowReview(*pr);
vector<Review> oldlist(books);//使用了拷贝构造函数
if (num > 3)
{
//remove 2 items
books.erase(books.begin() + 1, books.begin() + 3);
cout << "After Erase:n";
for (pr = books.begin(); pr != books.end(); pr++)
ShowReview(*pr);
//insert 1 item:插入一个元素
books.insert(books.begin(), oldlist.begin() + 1, oldlist.begin() + 2);//在books的开头处添加oldlist 的第2个元素
cout << "After Insertion:n";
for (pr = books.begin(); pr != books.end(); pr++)
ShowReview(*pr);
}
}
else
cout << "Nothing Entered,nothing gained.n";
return 0;
}
bool FillReview(Review & rr)
{
std::cout << "Enter book title (quit to quit):";
std::getline(std::cin,rr.title);
if (rr.title == "quit")
return false;
std::cout << "Enter book rating: ";
std::cin >> rr.rating;
if (!std::cin)
return false;
//get rid of rest of input line
while (std::cin.get() != 'n')
continue;
return true;
}
void ShowReview(const Review & rr)
{
std::cout << rr.rating << "t" << rr.title << std::endl;
}

最后

以上就是紧张手链为你收集整理的C++PrimerPlus(第6版)中文版Chapter16.8vect2.cpp:学习size,begin,end,push_back,erase,insert的使用的全部内容,希望文章能够帮你解决C++PrimerPlus(第6版)中文版Chapter16.8vect2.cpp:学习size,begin,end,push_back,erase,insert的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部