1,所有基本序列容器(vector,list,deque)所支持的操作.
实例代码:
#include <deque>
#include <iostream>
#include <list>
#include <vector>
using namespace std;
template<typename Container>
void print(Container& c, char* title = "")
{
cout << title << ':' << endl;
if(c.empty()) //判断容器是否为空
{
cout << "(empty)" << endl;
return;
}
typename Container::iterator it;
for(it = c.begin(); it != c.end(); it++)
cout << *it << " ";
cout << endl;
cout << "size() " << c.size() //容器当前大小
<< " max_size() " << c.max_size()//容器最大尺寸
<< " front() " << c.front()//容器起始元素
<< " back() " << c.back()//容器终止元素
<< endl;
}
template<typename ContainerOfInt>
void basicOps(char* s)
{
cout << "------- " << s << " -------" << endl;
typedef ContainerOfInt Ci;
Ci c;//构造函数
print(c, "c after default constructor");
Ci c2(10, 1); // 构造函数
print(c2, "c2 after constructor(10,1)");
int ia[] = { 1, 3, 5, 7, 9 };
const int IASZ = sizeof(ia)/sizeof(*ia);
Ci c3(ia, ia + IASZ);//构造函数
print(c3, "c3 after constructor(iter,iter)");
Ci c4(c2); //拷贝构造
print(c4, "c4 after copy-constructor(c2)");
c = c2; // 赋值
print(c, "c after operator=c2");
c.assign(10, 2); //数量,值
print(c, "c after assign(10, 2)");
c.assign(ia, ia + IASZ);//迭代器范围
print(c, "c after assign(iter, iter)");
cout << "c using reverse iterators:" << endl;
typename Ci::reverse_iterator rit = c.rbegin();//反向迭代器
while(rit != c.rend())
cout << *rit++ << " ";
cout << endl;
c.resize(4);//扩展序列
print(c, "c after resize(4)");
c.push_back(47);
print(c, "c after push_back(47)");
c.pop_back();//弹出一个元素
print(c, "c after pop_back()");
typename Ci::iterator it = c.begin();
++it; ++it;
c.insert(it, 74);
print(c, "c after insert(it, 74)");
it = c.begin();
++it;
c.insert(it, 3, 96);
print(c, "c after insert(it, 3, 96)");
it = c.begin();
++it;
c.insert(it, c3.begin(), c3.end());
print(c, "c after insert(""it, c3.begin(), c3.end())");
it = c.begin();
++it;
c.erase(it);//删除当前元素
print(c, "c after erase(it)");
typename Ci::iterator it2 = it = c.begin();
++it;
++it2; ++it2; ++it2; ++it2; ++it2;
c.erase(it, it2);//删除某个范围内的元素
print(c, "c after erase(it, it2)");
c.swap(c2);//高效地交换了容器本身.
print(c, "c after swap(c2)");
c.clear();
print(c, "c after clear()");
}
int main()
{
basicOps<vector<int> >("vector");
basicOps<deque<int> >("deque");
basicOps<list<int> >("list");
return 0;
}
分享到:
相关推荐
根据提供的标题“GB 150.1-2011 压力容器 第1部分:通用要求”以及描述“GB 150.1-2011 压力容器 第1部分:通用要求”,我们可以了解到该标准是中国国家标准(GB),主要针对压力容器的通用要求进行规范。...
STL中的通用算法是一系列独立于容器的函数,可以用于处理各种容器内的元素。常见的通用算法有: 1. `std::sort`:对容器内的元素进行排序。 2. `std::find`:查找容器中是否存在特定元素。 3. `std::count`:统计...
罐头食品金属容器通用技术要求.pdf
纯C实现的通用红黑树容器不好找,于是自己琢磨着实现了一个。 算法部分直接剪裁自Linux内核中的rbtree 作者主要是在此基础上封装了一个通用的容器 里面含有 test例子 以及 benchmark基准测试 另外这个是Windows和...
压力容器制造通用检验规程完整.pdf
数据容器通用操作的具体代码
这篇PPT教案主要介绍了容器通用零部件的相关知识,包括管子的公称尺寸、零部件的公称尺寸、公称压力PN的概念及其重要性,以及法兰连接的相关内容。公称尺寸是不同零部件相互配合的关键尺寸,而公称压力PN是零部件在...
泛型算法是一组通用的操作,定义在`<algorithm>`头文件中。这些算法不会直接修改容器的大小或删除元素,而是对容器中的元素进行操作。例如`sort`、`reverse`等。 #### 七、关联容器的操作 - **插入操作**:`insert`...
压力容器通用工艺守则资料.pdf
《储罐类容器制造通用工艺规程》是一份详细的制造指南,涵盖了从材料选择到最终检验和验收的全过程。这份规程适用于公司内部制造的各种储罐类容器,但不包括搅拌容器、换热容器和塔式容器。 规程的第一部分明确了其...
《压力容器制造通用工艺守则》是一份详细指导压力容器制造过程的标准文件,由某机械XX企业制定并发布。这份守则涵盖了从原材料选择到最终检验的各个环节,旨在确保压力容器的安全性和制造质量。 首先,守则明确了下...
此外,还涉及了压力容器的使用寿命、腐蚀裕量、疲劳强度以及压力容器在极端环境下的适应性等通用性问题。 第二部分:材料 这一部分详细阐述了压力容器所用材料的选择和验证。它规定了钢材和其他金属材料的种类、...
《GB压力容器通用要求新GB宣贯教材》是针对压力容器设计、制造和检验的一份重要教学材料,旨在介绍最新的GB150压力容器标准。该标准反映了现代压力容器技术的发展趋势,包括基于失效模式的设计、信息技术在质量控制...
《压力容器制造通用工艺规程》是针对承压设备制造过程中的一项重要规范,旨在确保压力容器的安全性和可靠性。此规程详细规定了压力容器制造中的射线照相检测方法、底片质量和质量分级要求,以及相关工作人员的资格和...
《压力容器图样设计技术通用规定》是针对压力容器设计人员的重要指导文档,它规定了设计和绘制施工图的基本准则,确保了设计的规范性和一致性。该规定涵盖了多个方面,旨在确保压力容器的设计符合国家和行业的最新...
【压力容器制造通用检验规程】 压力容器制造过程中,质量控制是至关重要的环节,这涉及到生产安全和产品质量。本文档详细阐述了压力容器制造通用检验规程,涵盖了从原材料选购到最终产品的出厂检验。以下是对规程中...
储罐类容器制造通用工艺设计规程.doc
钢制压力容器下料通用工艺守则.doc