《我的第一本C++书》 用STL优雅你的程序 2018/10/8
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了《我的第一本C++书》 用STL优雅你的程序 2018/10/8,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2051字,纯文字阅读大概需要3分钟。
内容图文
STL = 算法 +容器 + 迭代器
algorithm container iterator
容器适配器(container adaptor)、函数对象(functor)
STL的常用头文件和名字空间
头文件 | 名字空间 | 描述 |
<deque> | std | 双端队列容器,它是一个由连续存储的指向不同元素的指针所组成的数组 |
<queue> | std | 队列容器,按照先进先出的规则排列容器中的数据 |
<stack> | std | 堆栈容器,按照后进先出的规则排列容器中的数据 |
<vector> | std | 动态数组容器,连续存储的容器中的元素,它是最常用的非关联容器 |
<map> <multimap> <unordered_map> <unordered_multimap> |
std |
映射容器:由{键,值}对组成的集合,以某种作用于键值对上的谓词排列,其中,map容器中的键值对是一一对应的关系,而multimap容器中一个键可以对应多个值。 作为映射容器,map和multimap由来已久,其底层由红黑树实现,而unordered_map 和nordered_multimap是最新的c++ox标准新添加入STL的映射容器,底层由哈希表实现。 |
<set> <multiset> <unordered_set> <unordered_multiset> |
std | 集合容器,由节点组成的红黑树,每个节点都包含一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序,其中,unordered_set和unordered_multiset是最新的c++ox标准新添加入STL的映射容器,其底层由哈希表实现 |
<algorithm> | std | 它是所有STL头文件中最大的一个,它是由许多模板函数组成,它们相互独立构成STL中的通用法,包括:比较、交换、查找、排列等。 |
<functional> | std | 定义了一些模板类,用以声明函数对象 |
<string> | std | 字符串类 |
<regex> | std | 正则表达式,用于对字符串进行处理 |
<memory> | std | 其中定义了跟内存操作相关的组件,例如智能指针等 |
// k.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
//引入STL相关组件的头文件
#include <vector>
#include <algorithm> //cout_if
#include <functional> //bind2and
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
vector<int> vecSalary;
cout<<"请输入工资数据,0表示输入结束"<<endl;
int nSalary = 0;
do
{
cin>>nSalary;
if (0 == nSalary)
{
break;
}
vecSalary.push_back(nSalary);
} while (true);
int nTotal = count_if(vecSalary.begin(),vecSalary.end(),bind2nd( greater<int>(), 1000));
cout<<"工资超过1000的人数为:"<<nTotal<<endl;
return 0;
}
内容总结
以上是互联网集市为您收集整理的《我的第一本C++书》 用STL优雅你的程序 2018/10/8全部内容,希望文章能够帮你解决《我的第一本C++书》 用STL优雅你的程序 2018/10/8所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。