开发手册 欢迎您!
软件开发者资料库

C ++ STL教程

C ++ STL教程 - 从简单和简单的步骤学习C ++,从基本到高级概念,包括C ++概述,环境设置,基本语法,注释,数据类型,变量类型,范围,常量/文字,修饰符类型,存储类,操作符,循环类型,决策,函数,数字,数组,字符串,指针,引用,日期和时间,基本输入/输出,数据结构,类和对象,面向对象语言,方法,覆盖,继承,多态,抽象,封装,接口,文件和流,STL,迭代器,算法,异常处理,动态内存,重载,模板,命名空间和信号处理,预处理器,多线程,Web编程。

希望您已经理解了我们之前讨论过的C ++模板的概念. C ++ STL(标准模板库)是一组功能强大的C ++模板类,它通过模板提供通用类和函数,这些模板实现了许多常用的常用算法和数据结构,如向量,列表,队列和堆栈.

C ++标准模板库的核心是三个结构良好的组件 :

Sr.No组件&说明
1

容器

容器用于管理某种对象的集合.有几种不同类型的容器,如deque,list,vector,map等.

2

算法

算法对容器起作用.它们提供了对容器内容进行初始化,排序,搜索和转换的方法.

3

迭代器

迭代器用于逐步执行元素对象集合这些集合可以是容器或容器子集.

我们将讨论所有三个C ++ STL讨论C ++标准库时下一章的组件.现在,请记住,所有这三个组件都有一组丰富的预定义函数,这些函数可以帮助我们以非常简单的方式完成复杂的任务.

让我们采取以下程序:演示了一个类似于数组的向量容器(一个C ++标准模板),但有一个例外,它会自动处理它自己的存储需求,以防它增长 :

#include #include using namespace std; int main() {   // create a vector to store int   vector vec;    int i;   // display the original size of vec   cout << "vector size = " << vec.size() << endl;   // push 5 values into the vector   for(i = 0; i < 5; i++) {      vec.push_back(i);   }   // display extended size of vec   cout << "extended vector size = " << vec.size() << endl;   // access 5 values from the vector   for(i = 0; i < 5; i++) {      cout << "value of vec [" << i << "] = " << vec[i] << endl;   }   // use iterator to access the values   vector::iterator v = vec.begin();   while( v != vec.end()) {      cout << "value of v = " << *v << endl;      v++;   }   return 0;}

编译并执行上述代码时,会产生以下结果 :

vector size = 0extended vector size = 5value of vec [0] = 0value of vec [1] = 1value of vec [2] = 2value of vec [3] = 3value of vec [4] = 4value of v = 0value of v = 1value of v = 2value of v = 3value of v = 4

以下是以下几点要注意的是我们在上面的例子中使用的各种函数 :

  • push_back()成员函数在向量的结尾,根据需要扩展其大小.

  • size()函数显示向量的大小.

  • 函数begin()返回一个迭代器到向量的开头.

  • 函数end()返回一个迭代器到向量的末尾.