关闭

STL容器-关联式容器map/multimap

容器map是键-值对的集合,可理解成关联数组,可通过键作为下标获取对应的值 一、map/multimap的定义、初始化 1、定义一个空的映射,默认按照升序排序 map mymap; 2、定义一个按照键值逆序排序的映射 方案一,在类模板中加入仿函数 map> mymap; 方案二,在类的构造函数中加入仿函数 map mymap(greater); 3、用另外一个映射初始化映射 m...
阅读(635) 评论(0)

MFC的序列化技术(二)

上面介绍了在函数中对int、float等基本数据类型的序列化,下面介绍在MFC中怎么定义支持序列化的类 一、定义一个类CStudent,从CObject公有派生,从CObject公有派生是我们自己定义的类支持序列化的一个必要条件。 class CStudent:public CObject { }; 二、在类内和类外添加支持序列化的宏,其中类内宏的格式是DECLARE_SERIA...
阅读(438) 评论(0)

MFC的序列化技术(一)

一、函数中运用序列化向本地文件存储和下载数据 序列化函数,将数据转换成二进制流,存储到本地文件: void save() { CFile file("d:\\1.dat",CFile::modeCreate|CFile::modeWrite); CArchive ar(&file,CArchive::store); int i=12; float f=3.1415; ar ar....
阅读(599) 评论(0)

STL容器-关联式容器set/multiset

集合元素既充当存储的数据,又充当数据的关键码,集合更像一个有序链表,元素默认升序存储。 一、集合set的定义 1、定义一个空的集合,自动按照升序排序:set myset; 2、定义一个空的集合,按照降序排序,有两种形式,可能不同的编译器会支持不同形式 形式1,模板含有多个参数(vs2010中调试通过):set> myset; 形式2,构造函数含有多个参数的形式:set myset(gre...
阅读(491) 评论(0)

VS2010每次编译都重新编译整个工程的解决方案

在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击“生成-仅用于项目-仅生成**”时,往往都是整个工程都需要重新编译一遍。由于这个工程代码量太大,每次编译完成都需要将近10分钟左右的时间编译。最烦人的时候是当编译完了出错,修改了错误再次编译,浪费很多时间。 那么怎么配置VS2010像VC6.0那样默认的可以只编译修改后的文件呢? 针对这个问题的解决办法网络上也有不少,在这...
阅读(1139) 评论(0)

STL容器-序列式容器deque

deque的最重要的特性是在deque两端放置元素和删除元素是高效的,原因在于deque型序列开放了序列的两端,两端都能插入和删除数据。 一、初始化(以存放int型数据的双端队列为例) deuqe mydeque;//初始化一个空的队列 deuqe mydeque(5);//初始化含有5个元素的队列 deque mydeque(5,1);//初始化一个含有5个元素1的队列 deque m...
阅读(845) 评论(0)

STL容器-序列式容器list

list的优势在于在任何位置执行插入和删除动作都非常迅速,因为改变的仅仅是链接。 一 初始化(以元素为int型的list为例) list listname; list listname(5); list listname(5,1);//包含5个元素1的列表 list listname(其他list); list listname(elselist.begin(),elselist.en...
阅读(396) 评论(0)

VC静态库的创建和使用

一、静态库项目的创建和生成。 打开VS2010,文件->新建->项目->windows应用程序,选择静态库项目(项目名称Cpplib)。 在项目中新建如下CMath类: class CMath { public: int add(int a,int b) { return a+b; } };生成项目,可生成Cpplib.lib文件。 二、静态库的使用 1、隐式调用 在项目属性...
阅读(705) 评论(0)

VC中调用dll类的方法

使用dll中导出的类,需要提供dll,lib和头文件。 使用dll导出的类只有隐式导入一种方法, 如有包含导出类CMath的dll----classDll.dll,使用如下代码进行导入: #include "stdafx.h" #include "windows.h" #include "../classDll/Math.h" #pragma comment(lib,"../Debug/cl...
阅读(600) 评论(0)

VC中调用dll函数的两种方法

一、显式调用 1、定义函数指针 typedef int (*dll_mul)(int a,int b); 2、加载dll,并获取其程序实例句柄 HINSTANCE hdll=loadlibrary("c:/cppDll.dll"); 3、从dll实例句柄中获取函数指针 dll_mul mymul=(dll_mul)GetProcAddress(hdll,"mul"); 4、使用获取...
阅读(814) 评论(0)

STL容器-序列式容器vector

1 容器类型:序列式容器 2、容器的初始化与元素的存放 vector vec;//初始化存放int型的向量vec  2.1 从后面压入元素100   vec.push_back(1);  2.1 从后面弹出元素,并用temp接收   int temp=vec.pop_back(); 3、容器的大小和容量  3.1 容器现有元素的数量   vec.size()  3.2 容器可容...
阅读(511) 评论(0)
    个人资料
    • 访问:369263次
    • 积分:6482
    • 等级:
    • 排名:第3932名
    • 原创:292篇
    • 转载:17篇
    • 译文:1篇
    • 评论:61条
    其它平台
    博客专栏