C++ 学习之list容器数据的存取(判断迭代器类型小技巧)

1、函数原型:
  • front(); //返回第一个元素。
  • back(); //返回最后一个元素。
cout << L.at(0) << endl;//  错误 list不支持at访问数据
cout << L[0] << endl;//错误  list不支持[]方式访问数据
#include<iostream>
#include<string>
#include<list>
using namespace std;

int main()
{
	list<int> L;
	L.push_back(10);
	L.push_back(20);
	L.push_back(30);
	L.push_back(40);

	//cout << L.at(0) << endl;//  错误 不支持at访问数据
	//cout << L[0] << endl;//错误  不支持[]方式访问数据
	/*原因是list本质是链表,不是连续的存储空间,迭代器也是不支持随机访问的,如果要访问只能++的方式一直加*/


	cout << "首元素" << L.front() << endl;
	cout << "尾元素" << L.back() << endl;


	//验证是容器的迭代器是什么样的(小技巧)
	list<int>::iterator it = L.begin();
	it++;//可以向前走,如果只可以向前走或向后走,说明是单向迭代器
	it--;//也可以向后走,说明是双向迭代器
//	it = it + 1;//出错,说明不支持随机访问,不是随机迭代器


	return 0;
}
2、判断迭代器类型的小技巧

首先迭代器的种类有以下:
在这里插入图片描述

	//验证是容器的迭代器是什么样的(小技巧)
	list<int>::iterator it = L.begin();
	it++;//可以向前走,如果只可以向前走或向后走,说明是单向迭代器(前向迭代器)
	it--;//也可以向后走,说明是双向迭代器
	it = it + 1;//说明支持随机访问,是随机迭代器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值