栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++PrimerPlus(第6版)中文版Chapter16.8vect2.cpp:学习size,begin,end,push

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++PrimerPlus(第6版)中文版Chapter16.8vect2.cpp:学习size,begin,end,push

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

// Example16_8vect2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include 
#include 
#include 

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 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::iterator pr;
		for (pr = books.begin(); pr != books.end(); pr++)
			ShowReview(*pr);
		vector 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;

	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号