初始stl1

容器提供迭代器  迭代器可以理解为指针(实际上并不是指针)
  实际上迭代器是一个类对象,这个类封装了一个指针

迭代器的begin就指向数组的首个元素的

迭代器的end就指向数组的最后一个元素的下一个

#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
class Person
{
public:
	Person(int age,int num):age(age),num(num){}
public:
	int age;
	int num;
};
void print(int s)
{
	cout << s << " ";
}
void test()
{
	
	vector<int >s;

	s.push_back(10);//尾插
	s.push_back(12);
	s.push_back(13);
	s.push_back(14);
	s.push_back(15);
	int a = 20;
	//尾删
	// 容器提供迭代器  迭代器可以理解为指针(实际上并不是指针)
	//实际上迭代器是一个类对象,这个类封装了一个指针
	vector<int>::iterator pbegin = s.begin();
	vector<int>::iterator pend = s.end();
	//遍历通过容器提供的for_each()
	for_each(pbegin, pend, print);//输出通过回调函数来打印

}
int count_(int* arr)
{
	int num = 3;
	int time = 0;
	while (*arr)
	{
		if (*arr == num)
		{
			time++;
		}
		arr++;
	}
	return time;
}
void test2()
{
	int arr[]={ 1,2,3,5,6,4,5,3,6 };
	int* begin = arr;//迭代器的begin就指向数组的首个元素的
	int* end = &arr[sizeof(arr)/sizeof(int)];//指向最后一个元素的下一个  数组最大元素下标等数组元素个数-1
	int time = count_(arr);
	cout << time << endl;
}
void test3()
{
	vector<Person> v;
	/*Person* p1 = new Person(10, 20);*/
	Person p1(10, 20);
	Person p2(30, 40);
	v.push_back(p1);
	v.push_back(p2);
	for (vector<Person>::iterator a = v.begin();a!=v.end();a++)
	{
		cout <<a->age << endl;
		cout << a->num << endl;
	}
}
int main()
{
	
}

记录初识stl

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值