栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++语法篇之STL库

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++语法篇之STL库

1. STL介绍

STL是Standard Template Library的缩写,即标准模板库。之前在写 Templates 模板的时候,提到过STL对于模板的应用。STL是由多个模板类构成,能够为开发者提供通用的数据结构和算法。

STL主要包含以下内容:

  • 容器 Container:用来管理某一类对象的集合。
    • vector(可扩展的单向数组)
    • deque(可扩展的双向数组)
    • list (双向列表)
    • sets(无序集合)
    • maps:
  • 算法 Algorithm:对容器的内容执行初始化、排序、分类和搜索等操作。
  • 迭代器 Iterators:用于遍历对象集合的元素。
STL能给我们带来哪些帮助呢?
  • 减少开发时间。轮子已经被验证过了,学会使用轮子能大大节省开发时间。
  • 提高代码可读性。使用同一个轮子能让同行更快读懂你的代码。
  • 提高程序健壮性。STL的数据结构是自动增长的。
  • 提高可移植性,可维护性等。
2. vector 示例

一个简单的vector示例:创建int类型的向量,并实现初始化、赋值和打印操作。 

#include 
#include 
using namespace std;

int main()
{
    cout << "vector example:" << endl;
    
    // 创建一个int类型向量 x
    vector x; 
    // 创建一个包含100个元素的int类型向量 y
    vector y(100);
    
    // 输出vector x的初始大小
    cout << "vector x size = " << x.size() <::iterator pp = (x.begin()+3);
    cout << "before erase ";
    cout << "vector x[4] = " << *pp << endl; 
    x.erase(pp);
    cout << "after  erase ";
    cout << "vector x[4] = " << *pp << endl; 
    return 0;
}

输出结果:

 从上边的例子可以体现出vector的健壮性,vector是一个动态的数组模板,可以在程序运行过程中高效地添加或者删除元素,为程序设计提供了很大的灵活性。

最后,关于STL还有很多细节,待续吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979682.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号