STL简介

STL标准库

STL标准库实际上就是类模板,提供了大量通用类模板与函数,实现了代码重复使用,避免了大量的程序员要做的重复工作,并且标准库现在是C++库中的一部分,只需要加上头文件就可以直接使用,十分方便。

STL主要由算法、容器、迭代器,迭代器将两者结合起来,迭代器提供了一种方法,使它能够按照一种特殊的方法顺序访问容器的各个元素。

容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,容器分为序列式容器(list,vector等)与关联式容器(map、set等).

算法作用于容器,它提供了一种执行各种操作的方式,包括对容器的初始化,排序,搜索,转换等操作

迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集。迭代器将算法与容器分开,好让两者可以独立设计。

Vector为例的函数(vector与数组十分相似,唯一不同的是,向量在需要扩展大小的时候,会自动处理它自己的存储需求

  • push_back( ) 成员函数在向量的末尾插入值,如果有必要会扩展向量的大小。
  • size( ) 函数显示向量的大小。
  • begin( ) 函数返回一个指向向量开头的迭代器。
  • end( ) 函数返回一个指向向量末尾的迭代器。
    #include <iostream>
    #include <vector>
    using namespace std;
     
    int main()
    {
       // 创建一个向量存储 int
       vector<int> vec; 
       int i;
     
       // 显示 vec 的原始大小
       cout << "vector size = " << vec.size() << endl;
     
       // 推入 5 个值到向量中
       for(i = 0; i < 5; i++){
          vec.push_back(i);
       }
     
       // 显示 vec 扩展后的大小
       cout << "extended vector size = " << vec.size() << endl;
     
       // 访问向量中的 5 个值
       for(i = 0; i < 5; i++){
          cout << "value of vec [" << i << "] = " << vec[i] << endl;
       }
     
       // 使用迭代器 iterator 访问值
       vector<int>::iterator v = vec.begin();
       while( v != vec.end()) {
          cout << "value of v = " << *v << endl;
          v++;
       }
     
       return 0;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值