9.2.7节练习

练习9.15:编写程序,判定两个vector<int>是否相等?

大小评判标准:逐个比较,越长越大。

1.每个容器都支持相等运算符(==和!=);

2.除了无序关联容器外所有的容器都支持关系运算符(>、>=、<、<=)。

3.相等运算符和关系运算符两边运算对象要保证:容器类型一样、数据类型一样。

	vector<int> s1 = { 1, 2, 3, 4, 5 };
	vector<int> s2 = { 6, 7, 8 };
	if (s2 > s1)
		cout << "true" << endl;
vector<Sales_data> storeA, storeB;
if(storeA < storeB)//错误:Sales_data没有<运算符

4.由上面代码可知,能进行关系运算符的前提是数据类型支持相关的操作。

练习9.16:重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

练习9.17:假定c1和c2是两个容器,下面的比较操作有何限制(如果有的话)?

if(c1 < c2)

答:

1.两个容器的类型和数据类型必须一致。

2.数据类型必须支持比较操作。

3.无关容器本身就不支持关系运算。

    //forward_list 没有size()函数	
    list<int> s1 = { 0, 1, 2, 3, 4, 5 };
	forward_list<int> s2 = { 0, 1, 2, 3, 4, 5 };
	cout << s1.size() << endl;  //正确
	cout << s2.size() << endl;  //错误

猜你喜欢

转载自blog.csdn.net/xnnswmzdszyd/article/details/89481935
今日推荐