- 博客(15)
- 资源 (35)
- 收藏
- 关注
转载 双向循环链表list
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vector不具备的。和vector另一点不
2014-09-29 10:57:22 946
转载 STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能
2014-09-29 10:54:41 356
转载 ******二维数组&指针的指针******
一道面试题引发的问题,首先要知道[]的优先级高于*,题目:char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?为什么?直接用程序说明:#includevoid main(){ char **p,a[6][8]; p = a; printf("\n");}编译,然后就会发现通不过,报错:错误 1 er
2014-09-28 19:00:28 455
转载 try-catch-finally中return的执行情况
try-catch-finally中return的执行情况在try中没有异常的情况下try、catch、finally的执行顺序 try --- finally如果try中有异常,执行顺序是try --- catch --- finally如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return如果try中
2014-09-28 15:16:17 449
转载 不能在析构函数里面抛出异常
从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是
2014-09-28 15:15:43 864
转载 static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不
2014-09-28 11:25:42 1362
转载 Static的一些理解
Static那么我给你从C程序开始讲起:C语言中使用静态函数的好处: 静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。 关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。 使用内部函数的好处是:不同
2014-09-28 11:12:05 529
原创 C++ map的基本操作和使用
C++ map的基本操作和使用 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; mapmapc
2014-09-18 08:52:24 411
转载 Malloc和VirtualAlloc
内存分配方式和调试机制 M内存分配 内存分配函数 MFCWin32或者C语言的内存分配API,有四种内存分配API可供使用。Win32的堆分配函数 每一个进程都可以使用堆分配函数创建一个私有的堆──调用进程地址空间的一个或者多个页面。DLL创建的私有堆必定在调用DLL的进程的地址空间内,只能被调用进程访问。HeapCreate用来创建堆;
2014-09-12 17:07:57 3445
原创 malloc函数说明
1函数简介编辑原型extern void *malloc(unsigned int num_bytes);头文件在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。功能分配长度为num_bytes字节的内
2014-09-12 13:51:19 786
原创 指针数组,数组指针,各种垃圾玩意测试自己留用
static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定义二维数组m并初始化*/ int (*p9)[4];//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素int i,j;int *q[3];//指针数组 q是数组,数组元素是指针,3个int指针p9=m; //p是指针,可以直接指向二维数组
2014-09-02 10:39:16 501
翻译 指针数组和数组指针分别是如何指向二维数组的
//注意指针数组和数组指针分别是如何指向二维数组的#include main(){ static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};/* 定义二维数组m并初始化*/ int (*p)[4];//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素 int i,j; int *q[3];/
2014-09-02 10:22:49 4844
原创 野指针理解
野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。 “野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种: 一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气
2014-09-02 10:02:46 714
原创 int *p[3] 和int (*p)[3] 的区别
int *p[3] p是一个数组,此数组有3个元素,每个元素都是int*类型,也就是指向整型数据的指针类型。int a=10,b=20,c=30;int*p[3]={&a,&b,&c};而int(*p)[3]中的p是一个指向数组的指针,此数组有3个int类型的元素。例如:int a[3]={1,2,3}; 那么p就是指向这个数组a的指针。int(*p)[3]=&a; // 这里赋值
2014-09-02 09:33:11 5960 1
翻译 二维数组名再取地址是什么
ww6582163 | 分类:互联网 | 浏览246次分享到:举报| 2013-11-26 18:21提问者采纳此处的 &a 的类型是char (*)[5][20],即指向整个数组的。就如同 int s[30]; 中的&s 一样,它的类型是(*)[30],所指向的是整个的一维数组,如果你将它赋值给一个指针变量时只能
2014-09-02 09:22:47 3328
ListControl
2014-11-14
实现文件拖放的一种简洁方法
2014-07-25
使用MSScriptControl公式计算
2018-09-26
Udp—Socket
2018-05-22
dsoframer.ocx
2017-10-23
webservice post get
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人