C&C++
文章平均质量分 56
Waterstrong
这个作者很懒,什么都没留下…
展开
-
野指针
“野指针”不是NULL指针,是指向“垃圾”内存(不可用内存)的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。有个良好的编程习惯是避免“野指针”的唯一方法。 野指针的成因主要有三种: 一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以转载 2011-12-28 09:53:55 · 590 阅读 · 0 评论 -
delete出错原因
delete释放空间时出错的原因:1数组的首地址a被你有意无意更改了,如:a 之类的;2变量的作用域问题,如:你是在一个函数体中new的,却在另一个函数体中delete,这时的a变量已经失效了,这时delete会出现a为不认识的标识符的错误;3先前已经delete过一次了,不可以delete两次;4、内存越界,VC分配内存,除了分配你需要的内存空间外还会分配一些管理单元,就在你转载 2011-12-28 10:00:09 · 1369 阅读 · 0 评论 -
C++内存分区说明
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。转载 2011-12-28 10:00:48 · 283 阅读 · 0 评论 -
C++实现单例模式
之前遇到关于C++实现单例模式的问题,说实话,弄了很久,主要有部分问题要解决,现在和大家分享一下。我们都知道在C#中实现起来相当容易,但C++确实是有点绕,不过这正是其魅力所在,现在直接上代码,有注释。#include using namespace std;class Singleton{private: static Singleton* sin;//如果定义为stat原创 2011-12-28 10:03:23 · 606 阅读 · 0 评论 -
配置DX_Aug09_DShow获取摄像头图像
1、 首先带例子安装DXSDK_Aug09.exe,可在官网下载(msdn.microsoft.com/directx/)DirectX August 2009(http://download.microsoft.com/download/4/C/F/4CFED5F5-B11C-4159-9ADC-E133B7E42E5C/DXSDK_Aug09.exe)。假设安装路径为:D:\Program原创 2011-12-28 10:05:47 · 681 阅读 · 0 评论