STL vector用法介绍 (转)
摘要:介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在
阅读全文
posted @
2011-07-30 22:02
COS
阅读(456)
推荐(0)
vector用法详解
摘要:1.vector 的数据的存入和输出:#include<stdio.h>#include<vector>#include <iostream>using namespace std;void main(){ int i = 0; vector<int> v; for( i = 0; i < 10; i++ ) { v.push_back( i );//把元素一个一个存入到vector中 } /* v.clear()*/ 对存入的数据清空 for( i = 0; i < v.size(); i++ )//v.size() 表示vecto
阅读全文
posted @
2011-07-17 16:13
COS
阅读(3163)
推荐(0)
STL map常用操作简介(转)
摘要:1。目录 map简介 map的功能 使用map 在map中插入元素 查找并获取map中的元素 从map中删除元素 2。map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。 3。map的功能 自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。 快速插入Key - Value 记录。 快速删除记录 根据Ke
阅读全文
posted @
2011-07-06 22:01
COS
阅读(359)
推荐(1)
stl string常用函数
摘要:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n)
阅读全文
posted @
2011-05-08 14:24
COS
阅读(385)
推荐(1)
STL学习之旅二:traits技术
摘要:我们都知道STL标准模板库非常强调软件的复用,traits技术是采用的重要手段。traits的中文意思就是特性,traits就像特性萃取机,提取不同类的共性,以便能统一处理。traits依靠显示模板特殊化来把代码中因类型不同而发生变化的片段拖出来,用统一的接口来包装。这个接口可以包含一个C++类所能包含的任何东西,如内嵌类型、成员函数、成员变量。作为客户的模板代码,可以通过traits模板类所公开的接口来间接访问。下面是一个简单实例:已知整型数组类CIntArray,浮点数组类CFloatArray,求整型或浮点数组的和乘于相应的倍数并输出。#include<iostream>us
阅读全文
posted @
2011-04-27 08:09
COS
阅读(808)
推荐(2)
STL学习之旅二:模板
摘要:模板提供了通用的方法来开发可重用代码,可以创建参数化的C++类型。模板可分为:函数模板和类模板。函数模板的用法同C++预处理器的用法有一定的类似之处,它们都提供编译代码过程中的文本替换功能,但前者可以对类型进行一定的保护。使用类模板可以编写通用的、类型安全的类。STL中仍然要用到函数模板和类模板。实例:/****************************************************************************编制动态数组的模板类 * **********************************************************
阅读全文
posted @
2011-04-26 10:45
COS
阅读(255)
推荐(2)
STL学习之旅一:命名空间
摘要:在STL程序中一般需要有一行"using namespace std;",这就是命名空间的应用。为了避免和其他头文件冲突, STL的头文件不再使用常规的.h扩展。而是要使用命名空间namespace.在C++中,名称可以是变量、函数、结构、枚举以及类和结构的成员。随着工程的增大,这些名称相互冲突的可能就增加。当使用多个厂商的类库时,也可能导致名称冲突。C++中的namespace命名空间的提出就可以很好的解决该问题,这也实现了再封装。namespace使用实例:1#include<stdio.h>23namespacemycompany4{5voidfunc()
阅读全文
posted @
2011-04-26 10:11
COS
阅读(519)
推荐(2)
三十分钟掌握STL(转载)
摘要:三十分钟掌握STL 这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。 译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中
阅读全文
posted @
2011-04-26 09:57
COS
阅读(280)
推荐(1)