【STL】03 Hello World

#include<iostream>
#include<vector>   //动态数组  可变数组 
#include<algorithm>   //算法 
using namespace std;

//STL基本语法

void PrintVector(int v){
    cout<<v<<" ";
} 

void test01(){
    //定义一个容器,并且制定这个容器存放元素的类型是int
    vector<int> v;
    v.push_back(10);
    v.push_back(20);
    v.push_back(30);
    v.push_back(40);
     
    //容器提供迭代器 
    //vector<int>::iterator  迭代器类型 
    vector<int>::iterator pBegin = v.begin();  //通过vector容器的begin方法得到一个迭代器 ,这个迭代器指向容器的开始区间 
    vector<int>::iterator pEnd = v.end();
     
    //通过STL提供的 for_each 算法    //for_each()有三个参数  (开始迭代器,结束迭代器,回调)
    //容器中可能存放基础的数据类型,也可能存放自定义数据类型 
    for_each(pBegin,pEnd,PrintVector);    
    
} 


//容器存放自定义类型 
class Person{
        public:
            Person(int age,int id):mage(age),mid(id){}
            
        public :
            int mage;
            int mid;
    };

void test02(){
    //容器 
    vector<Person> v;
    Person p1(10,20),p2(30,40),p3(50,60);
    v.push_back(p1);
    v.push_back(p2);
    v.push_back(p3);
    
    //算法-遍历 
    for(vector<Person>::iterator i = v.begin(); i!= v.end(); i++ )   //迭代器 
        cout<<(*i).mage<<" "<<(*i).mid<<endl;   //迭代器看作指针,*迭代器 = 值 
}

int main(){
    test01();
    cout<<endl;
    test02();
    return 0;
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值