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

C++ STL(标准模板库)概述

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

C++ STL(标准模板库)概述

STL主要分为分为三类:

1.algorithm(算法 )——对数据进行处理(解决问题) 步骤的有限集合

2.container(容器)——用来管理一组数据元素

3.Iterator  (迭代器)——可遍历STL容器内全部或部分元素”的对象

1.容器和算法通过迭代器可以进行无缝地连接。在STL中几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。

2.STL 最早源于惠普实验室,早于C++存在,但是C++引入STL概念后,STL就成为C++的一部分,因为它被内建在你的编译器之内,不需要另行安装。

3.STL被组织为下面的13个头文 件:、

代码示例:

// demo 15-22  
#include 
using namespace std;

#include 
#include 


class student {
public:
	student(int age, const char* name) {
		this->age = age;
		strncpy_s(this->name, name, 64);
	}

	student(const student& s) {
		this->age = s.age;
		strncpy_s(this->name, s.name, 64);
		cout << "拷贝构造函数被调用!" << endl;
	}
public:
	int age;
	char name[64];
};

//容器中直接存放对象,会发生拷贝构造
void demo2() {
	vector v1;

	student s1(18, "李小美");
	student s2(19, "王大帅");

	v1.push_back(s1);
	v1.push_back(s2);

	cout << "v1 的学生的个数:" << v1.size() << endl;

	//方式1,下标访问
	//for(unsigned int i=0; i::iterator it = v1.begin();
	for (; it != v1.end(); it++) {
		cout << (*it).name << ": " << (*it).age << endl;
	}

}

//容器中存放指针
void demo3() {
	vector v1;

	student s1(18, "李小美");
	student s2(19, "王大帅");

	v1.push_back(&s1);
	v1.push_back(&s2);

	cout << "v1 的学生的个数:" << v1.size() << endl;

	//方式1,下标访问
	//for(unsigned int i=0; i::iterator it = v1.begin();
	for (; it != v1.end(); it++) {
		cout << (**it).name << ": " << (**it).age << endl;
	}

}


void demo1() {
	//第一部分 容器
	vector v1;

	v1.push_back(1);
	v1.push_back(2);
	v1.push_back(3);
	v1.push_back(4);
	v1.push_back(3);

	cout << "v1 的元素个数:" << v1.size() << endl;

	cout << "v1中保存的元素:" << endl;
	//方式1,下标访问
	//for(unsigned int i=0; i::iterator it = v1.begin();
	for (; it != v1.end(); it++) {
		cout << *it << endl;
	}


	//第三部分  算法
	int ncount = count(v1.begin(), v1.end(), 90);
	cout << "v1 中数值为 90 的元素个数:" << ncount << endl;
}

int main() {

	demo3();

	system("pause");
	return 0;
}

运行结果:

                          

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

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

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