2012-12-20 21:18
⁄ 工业·编程
⁄ 共 1275字
1、命名空间std C++标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围呢,不会引起命名冲突。最典型的例子就是std命名控件,C++标准库中所有标识符都包含在该命名空间中。 如果确信在程序中引用某个或者某些程序库不会引起命名冲突,那么可以通过using操作符来简化对程序库中标识符(通常时函数)的使用,例如: using namespace std; ...
c++, stl阅读全文
2012-12-04 22:00
⁄ 工业·编程
⁄ 共 2004字
标准库Vector类型使用需要的头文件: #include <vector> Vector:Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型。
一、 定义和初始化 Vector<T> v1; //默认构造函数v1为空 Vector<T> v2(v1);//v2是v1的一个副本 Vector<T> v3(n,i);//v3包含n个值为i的元素 Vector<T> v4(n); //v4含有n个值为0的元素 二、 值初始化 1> 如果没有指定元素初始...
stl, Vector阅读全文
2012-09-20 05:26
⁄ 工业·编程
⁄ 共 1194字
需求推动了技术的发展,从MFC到ATL,从ATL再到WTL的发展历程我想就是一个最好的见证。
早期的VC++开发者们发现了MFC(Microsoft Foundation Classes) 这样一个好东东。他们发现,MFC提供了一个强大的类库,很好的满足了面向对象编程的需要。随着泛型编程技术的发展和时间的推移,慢慢地,他们慢慢觉得MFC的类库过于庞大和宽泛,而且它提供的模板库只覆盖了很有限的领域。于是,ATL应运而生...
ATL, stl, WTL阅读全文
2012-09-19 05:16
⁄ 工业·编程
⁄ 共 3150字
STL 即 Standard Template Library
STL(标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、 Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C+ +中,但在被引入C++之前该技术就已经存在了很长的一段时间。
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭 代器),几乎所有的代码都采用了...
ATL, stl, WTL, 区别阅读全文
2012-09-12 19:31
⁄ 工业·编程
⁄ 共 1222字
1,删除一个元素
比如:vector vecID; 中保存了m个ID,这时要删除第n个ID。
遍历是一个方法;即vector::itertor it = vecID.begin(); 然后++it n次。
更好的方法是:vector::itertor it = vecID.begin() + n; vector的迭代器直接支持这种偏移。
然后用vecID.erase(it)方法 删除该元素。
2.去除一个容器中有特定值的所有对象
1)如果容器是vector、string或deque,使用erase-remove惯用法,例如
c.erase(remove(c.begin(), c.end...
stl阅读全文
2012-09-10 11:45
⁄ 工业·编程
⁄ 共 2091字
这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。
1.1 hash_map和map的区别在哪里?
构造函数:hash_map需要hash函数、等于函数;map只需要比较函数(小于函数). 存储结构:hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其内存数据结构是不一样的。
1.2 什么时候需要用hash_map,什么时候需要用map?
总体来说,hash_map 查找速度会比map快,而且查找速度基本和数据量大小无关,属于常数级;而...
map, stl阅读全文
2012-09-10 11:43
⁄ 工业·编程
⁄ 共 2619字
一.问题的引出:
容器可以存放对象,可以存放指针,这里要谈的是两者的使用问题。就是什么时候存放对象更好,什么时候存放指针更好?
二.问题的分析过程:
1. 首先说下stl容器的工作方式
对于内建类型(int float char等),容器的工作方式是纯粹的位拷贝,这里没有什么需要多说的。
对于自定义的对象,容器容纳了对象(比如通过insert或push_back等),但容器中存放的对象不是你给它们的那个对象,因为两个对象在内存中的位置...
stl, 指针阅读全文
2012-09-06 11:37
⁄ 工业·编程
⁄ 共 851字
观点一
c++是语言,但你知道,语言本身功能是很有限的,需要一些类库把常用的操作封装起来,以后可以直接调用,就节省了普通开发人员的大量精力.
stl和MFC都是一个扩充C++语言功能的类库.
stl是底层类库,提供的是一般编程都会用到的功能,主要是一套容器,和一套相关的算法.常用的数据结构,比如list, queue, stack, map等等,都在stl里面给你实现好了,直接用就是了.
...
stl, 区别, 新手, 编程阅读全文
2012-08-13 06:14
⁄ 工业·编程
⁄ 共 751字
一 前言
关联容器(associative container) map对象的元素是键值对,每个元素包含两部分键和键关联的值。
二 map对象的定义
使用关联容器map需要添加头文件
#include <map>
std::map<int, CString> m_mapFruit;
该语句定义了一个名为m_mapFruit的map对象
三 map对象元素的插入
方法一
m_mapFruit.insert(std::map<int, CString>::value_type (0, L"苹果"));
方法二
m_mapFruit.insert(std::pair<...
stl阅读全文
2012-08-06 22:13
⁄ 工业·编程
⁄ 共 2053字
在STL中基本容器有: string、vector、list、deque、set、map set 和map。map set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问。set集合, 用来判断某一个元素是不是在一个组里面,使用的比较少。map映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了。string、vector、list、deque、set 是有序容器。
1.string
string 是basic_string<char&...
c++, stl阅读全文