自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (15)
  • 收藏
  • 关注

转载 内存管理(一)

[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支配权

2012-08-28 23:10:49 821

转载 static、const和static const

const定义的常量在函数执行之后其空间会被释放,而static定义的静态常量在函数执行后不会被释放其空间。static 表示的是静态的。类的静态成员函数,成员变量是和类相关的,不是和类的具体对象相关,即使没有具体的对象,也能调用类的静态成员函数,成员变量。一般的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。 在c++中,static静态成员变量不能在类内部初始化。

2012-08-28 22:55:45 592

转载 auto_ptr智能指针

////from   zxbc.cn 标准auto_ptr智能指针机制很多人都知道,但很少使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自

2012-08-21 10:10:18 489

转载 动态绑定以及例子解析

////from baidu.com 我对于C++动态绑定的理解,一句话,就是编译器用静态分析的方法加上虚拟函数的设计实现在程序运行时动态智能执行正确虚拟函数的技术。因此要彻底理解动态绑定技术,只需要掌握两点,一是编译器的静态编译过程,二是虚拟函数的基本知识。只要有了这两点理解,任何动态绑定的分析都是很容易的。下面就以例子代码说明:#include usin

2012-08-20 09:50:19 906

原创 网络编程之UDP客户端

UDP客户端1、创建套接字函数:SOCKET socket( int af, //指定地址族,它只能是AF_INET或PF_INET int type, //socket类型,两种类型:SOCK_STREAM(流式套接字); SOCK_DGRAM(数据报套接字).这里选择SOCK_DGRAM int protocol //指定为0

2012-08-08 20:49:35 570

原创 网络编程之UDP服务器

UDP服务器:1、创建套接字函数:SOCKET socket( int af, //指定地址族,它只能是AF_INET或PF_INET int type, //socket类型,两种类型:SOCK_STREAM(流式套接字); SOCK_DGRAM(数据报套接字).这里选择SOCK_DGRAM int protocol //指定为0

2012-08-08 20:42:09 506

原创 网络编程之TCP客户端

TCP客户端:1、创建套接字函数:(from  msdn;下同)SOCKET socket( int af, //指定地址族,它只能是AF_INET或PF_INET int type, //socket类型,两种类型:SOCK_STREAM(流式套接字); SOCK_DGRAM(数据报套接字).这里选择SOCK_STREAM int pr

2012-08-08 20:24:25 470

原创 网络编程之TCP服务器

重新复习了下基于TCP的网络应用程序的编写,环境: win32 console application 。记录下详细步骤,再次复习时,方便查看。TCP服务器:1、创建套接字函数:(from  msdn;下同)SOCKET socket( int af, //指定地址族,它只能是AF_INET或PF_INET int type, //socket

2012-08-07 23:01:50 451

原创 gets、fgets

1、gets函数:gets(字符指针) 头文件:stdio.h(c中),c++不需包含此头文件 原型:char*gets(char*buffer); 功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。返回值:读入成

2012-08-06 23:24:35 1630

转载 线程同步

////////来自百度////////学习线程的时候很不明白线程同步指的是什么,以为同时进行。。但在程序中发现,不是那么回事。。百度了下:同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。 “同”字从字面上容易理解为一起动作。 其实不是,“同”字应是指协同、协助、互相配合。 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来

2012-08-03 09:17:50 668

原创 进程间通信之(一)剪贴板

剪贴板实际上是系统维护管理的一块内存区域,当在一个进程中复制数据时,是将这个数据放到该块内存区域中,当在另一个进程中粘贴数据时,是从该块内存区域中取出数据。剪贴板的VC实现很简单,下面是剪贴板实现过程以及我学习过程中的一些理解:1.首先建立一个基于对话框的应用程序,并添加2个edit box和2个button,在这里,ID号分别为:IDC_EDIT_SEND,IDC_EDIT_RECV,I

2012-07-29 15:58:54 1656

原创 c++中静态库和动态库的创建与链接(三) .

今天学习了动态库的显式加载,其中有两个问题特别重要,一个是名字改编问题,一个是显式加载函数指针定义问题。在这里记录下来,以便以后写这方面程序时查阅。因为才学习这个,如果朋友们看了,有什么不同意见,可以留言。万分感激!!!2.2 显式加载2.2.1动态库的建立A:File->New->Projects->Win32 Dynamic-Link Library(这里我建立的是Dll_3)

2012-07-23 23:06:02 2113

原创 c++中静态库和动态库的创建与链接(二)

2、动态库     在使用动态库的时候,往往提供两个文件:一个引入库(.lib)和一个DLL(.dll)文件。虽然引入库的后缀也是.lib ,但是动态库的引入库文件和静态库文件有着本质的区别,对一个DLL来说,其引入库文件(.lib)包含DLL导出的函数和变量的符号名,而.dll文件包含该DLL实际的函数和数据。在使用动态库的情况下,在编译链接可执行文件时,只需要链接该DLL的引入库文件,该D

2012-07-21 22:53:51 2530

原创 c++中静态库和动态库的创建与链接(一)

/*今天学习了下动态链接库这方面的内容,为了梳理下知识以及以后复习使用,特做如下简单总结:*/1、静态库     函数和数据被编译进一个二进制文件(扩展名位 .LIB)。在使用静态库的情况下,在编译器链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE)。发布产品时,不需要发布使用的静态库。1.1 静态库的创建A:Fil

2012-07-21 21:27:52 2527

转载 多线程编程10个例子

留个纪念,不错的总结。十个例子清晰列举啦多线程编程的奥妙。 VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的

2012-07-11 14:50:04 24843

转载 头文件string与string.h的区别

头文件string与string.h的区别在C++中,#include与#include的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath

2012-06-21 11:14:29 1123

原创 LINK2005 error

从CSDN找到的:编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应

2012-06-14 22:43:19 829

转载 MFC ListControl如何使用

首先呢拖个listcontrol控件,然后把转换void CFileManageDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_list);}然后在你打开对话框的时候初始化BOOL CFileManageDlg::

2012-06-08 22:30:10 1347

转载 c++ 中 extern 对struct 结构体的使用

类型的定义和类型变量的定义不同,类型定义只是描述一个类型,是给编译器看的,不会产生可执行代码。变量定义是指在执行文件中真实得存在这么一块内容。  因为每个.c里都要写清楚类型定义很麻烦,所以一般都把类型定义写在.h里,而在.c里采用简单的写法,如struct A a;这样定义变量,不需把整个类型的描述再写一遍。 所以,struct类型定义放到 ser

2012-06-08 22:26:40 9823

翻译 VC++中 extern 对 struct 结构体的应用

类型的定义和类型变量的定义不同,类型定义只是描述一个类型,是给编译器看的,不会产生可执行代码。变量定义是指在执行文件中真实得存在这么一块内容。 因为每个.c里都要写清楚类型定义很麻烦,所以一般都把类型定义写在.h里,而在.c里采用简单的写法,如struct A a;这样定义变量,不需把整个类型的描述再写一遍。-所以,struct类型定义放到 ser.h里面,

2012-06-08 22:10:03 2210

转载 MFC中ListControl控件的使用

以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格LVS_ICON: 为每个item显示大图标LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”2

2012-06-08 22:07:14 461

转载 C++中const用法详解

面向对象是C++的重要特性。但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1.限定符声明变量只能被读const int i=5;int j=0;……i=j;  //非法,导致编译错误j=i;  //合法2.必须初始化const int i=5; //合法cons

2011-12-08 11:01:33 417

转载 C++类三大特征(复习下)

C++是一种比较流行的面向对象语言,面向对象语言有三大特性:继承,封装和多态。这种语言起源于八十年代初的贝尔实验室。一直风靡至今,也是我唯一会用的程序开发语言,当然,只是会用,并不算精通。比起以前的fortran,basic等早期的高级语言来,C++的创新之处在于可以自定义数据类型,计算机中,所谓数据类型就是占用内存空间的大小。比如integrate,整数型,会占用4个字节,而如果是一个字符串“a

2011-12-05 10:49:19 711

转载 OOA,OOD,OOP,OOT

从c到c_plus_plus, OO面向对象,涉及到的东西还蛮多。 在找工作,在看网上的笔试题目,在看C++ primer, 发现还有很多知识点以前是没有掌握清楚的,唉,,, 需要读的书还有很多, 要在某方面成为专家还是需要花费很多功夫的, 徘徊良久,我才刚上路。。。以下内容转载自百度百科,mark以下,以备自己学习,并时刻提醒自己。OOAObject-Orie

2011-12-02 11:51:48 5713

转载 static的详解

static的详解  1、静态全局变量  在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:  //Example 1  #include   void fn();  static int n; //定义静态全局变量  void main()  { n=20;  cou

2011-11-21 10:51:23 480

转载 i/o模型——浅理解

老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型~~~一:select模型老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信~~~~~在这种情况下,"下楼检查信箱"然后回到楼上耽误了老陈太多的时间,以至于老陈无法

2011-11-14 22:32:00 713

转载 Effective C++:条款08

Effective C++:条款08:别让异常逃离析构函数 (Prevent exceptions from leaving destructors.)析构函数绝对不要吐出异常。如果一个被析构函数调用的函数可能抛出异常,析构函数应该捕捉任何异常,然后吞下它们(不传播)或结束程序。如果客户需要对某个操作函数运行期间抛出的异常做出反应,那么class应该提供一个普通函数(而非在析构函数中)执行

2011-11-10 22:19:43 340

转载 Effective C++:条款07

Effective C++:条款07:为多态基类声明virtual析构函数 (Declare destructors virtual in polymorphic base classes.)polymorphic(带多态性质的)base classes应该声明一个virtual析构函数。如果class带有任何virtual函数,它就应该拥有一个virtual析构函数。Classes的设计

2011-11-10 22:19:07 466

转载 Effective C++:条款06

Effective C++:条款06:若不想使用编译器自动生成的函数,就该明确拒绝 (Explicitly disallow the use of complier-generated functions you do not want.)有时候,我们需要定义一些独一无二的类,这些类是如此的特别,以至于我们不能将 其拷贝或者赋值:1 class Family {};23 Fam

2011-11-10 22:18:21 367

转载 Effective C++:条款05

Effective C++:条款05:了解C++默默编写并调用哪些函数 (Know what functions C++ silently writes and calls.)编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment操作符,以及析构函数。 这一部分的条款讲的都是类的构造/析构/赋值函数的使用。当你写下一个:1 cla

2011-11-10 22:17:45 428

转载 Effective C++:条款04

Effective C++:条款04:确定对象被使用前已先被初始化 (Make sure that objects are initialized before they're used.)为内置型对象进行手工初始化,因为C++不保证初始化它们。构造函数最好使用成员初值列(member initialization list),而不要在构造函数本体内使用赋值操作(assignment)。初

2011-11-10 22:17:00 456

转载 Effective C++:条款03

Effective C++:条款03:尽可能使用const (Use const whenever possible.)将某些东西声明为const可帮助编译器侦测错误用法。const可被施加于任何作用域内的对象、函数参数、函数返回类型、成员函数本体。编译器强制实施bitwise constness,但你编写程序时应该使用“概念上的常量性”(conceptual constness)。当

2011-11-10 22:15:33 389

转载 Effective C++:条款02

Effective C++:条款02:尽量以const, enum, inline替换#define (Prefer consts, enums, and inline to #defines.)对于单纯常量,最好以const对象或enums替换#defines。对于形似函数的宏(macros),最好改用inline函数替换#defines 以前学习c语言时,老师教导我们,对于数字

2011-11-10 22:08:00 362

原创 Effective C++:条款01

Effective C++:条款01:视C++为一个语言联邦(View C++ as a federation of languages.)  都说c++难学。确实,这是由于c++过于庞大了,Meyers将庞大的c++分成了四个部分:1.c语言;2.经典的面向对象c++:包括了class,封装,继承,多态,虚函数等经典的OO思想;3.c++模板编程,也称为泛型编

2011-11-10 21:56:13 430

转载 WinSock基本I/O模型简介

WinSock基本I/O模型简介如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择模型、异步选择模型、事件选择模型、重叠I/O模型和完成端口共五种I/O模型。每一种模型均适用于一种特定的应用场景。编程人员应综合考虑到程序的扩展性和可移植性等因素,做出自己的选择。1  选择模式(Select)选择模型是Wins

2011-11-10 21:49:42 381

原创 C++primer第四章(二):数组和指针——指针

二、指针1、什么是指针:指针保存的是另一个对象的地址。 2、指针的定义和初始化:每个指针都有一个与之关联的数据类型,该数据类型决定了指针所指向的对象的类型。2.1 指针变量的定义C++语言使用* 符号把一个标识符声明为指针。例如: string

2011-09-26 16:47:47 513

原创 C++primer第四章(一):数组和指针——数组

一、数组1、数组的定义和初始化1.1   数组是由类型名、标识符和维数组成的复合数据类型。(数组的维数必须用值大于等于1的常量表达式定义。此常量表达式只能包含整型字面值常量、枚举常量或者用常量表达式初始化的整型const对象。非const变量以及要到运行阶段才知道

2011-09-25 23:27:30 540

原创 C++primer第三章:标准库类型

一、标准库string类型:#include1、string对象的定义和初始化 表3.1几种初始化string对象的方式string  s1;默认构造函数,s1为空串string  s2(s1);将s2初始化为s1的一个副本

2011-09-22 16:20:55 567

原创 C++ primer第二章:变量和基本类型

一、数据类型:1:基本类型 整型(short int ,int, long int)、字符型(char)、浮点型(float, double, long double)、布尔型(bool)、空类型(void)2:非基本类型 枚举类型(enum)、数组类型(type[ ])

2011-09-16 11:08:31 440

原创 C++之路该怎么走?

<br />正式学习VC++是从去年的10月份。最开始的时候是在网络上看见别人介绍 孙鑫 老师的《深入详解》,说这本书比较好。于是兴冲冲的跑到书店购买啦一本,确实比较不错,用拉2个月的时间,把前面的10多章看完,但是作为学生,我在校主要是学习的图像处理,工具是VC6.0.但是在学习图像的过程中,用VC来编程的时候,或者说改写别人的程序,达到自己要求的目的,觉得好难,好难,有的时候,花上几个星期,都不知道怎么来改。感觉VC上面的好多东西不懂。不知道是自己比较笨的原因,还是不够努力。。路漫漫兮。。。。有没童鞋帮

2011-05-22 22:49:00 514

进程间通信之剪贴板

进程间通信之剪贴板的基于VC对话框的应用程序,实际运用中,可以将发送和接受端分开。实现简单,可以用于学习。

2012-07-29

动态链接库之动态加载

利用VC++实现动态链接库动态加载的方式。文件中包含DLL文件的编写以及加载测试程序,需要的可以下载参考。内容简单,阅读性强!

2012-07-23

动态链接库(隐式链接)之类的实现

利用VC++,实现动态链接库的类导出。其中实现方式包括动态库的编写,库的隐式链接。需要的可以下载参考。、

2012-07-23

动态链接库(隐式链接)制作简单计算器

本程序是利用动态链接库的方式,实现简单计算器的功能。旨在学习动态链接库的编写以及隐式链接。最基本的程序例子,有兴趣的童鞋可以参考。

2012-07-23

利用VC浏览网页

本程序在VC6.0开发环境下,利用ActiveX Control 实现简单网页浏览功能。只能打开单一网页。

2012-07-23

起泡法对10个数进行排序,可以自己修改数的个数

起泡法对10个数进行排序,可以自己修改数的个数。欢迎下载。。

2011-09-25

求Fibonacci数列问题,本程序中只求20个数,可以自己修改。

求Fibonacci数列问题,本程序中只求20个数,可以自己修改。

2011-09-25

差影法检测目标(VC++)

利用差影法对目标图像的提取,在VC6.0环境下编写的,基于MFC。可以编译,运行。里面带有测试图片。

2011-05-26

hough检测直线的程序

VC6.0基于MFC编写的hough变换检测直线的源代码,里面带有图片,可编译运行。可以借鉴,参考。

2011-05-26

新编Windows_API_参考大全(真正完整版)

VC++相关API函数,是我找啦好久的,比较全面的参考手册。实用。

2011-05-25

简单图像读取、保存程序

VC6.0平台下编写的图像读取,保存的源程序,内带图片,课运行。希望对初学图像处理的朋友有一定的帮助。

2011-05-23

人体跟踪源代码(VC++)

在VC6.0环境下编写的人体跟踪源代码。完整,可编译运行。需要的快下载吧。。

2011-05-23

VC++编写的人脸检测程序

VC++编写的人脸检测源代码,可以运行,欢迎下载。

2011-05-23

动态检测虹膜,C++编写。可以编译运行

动态检测虹膜,并定位,具有比较好的鲁棒性。运行结果比较理想,对于编写虹膜检测程序的朋友们一定会有帮助。欢迎下载。。

2011-05-23

用vc++编写的车牌定位

在VC6.0环境下编写的车牌定位,上面有注释,可编译运行。效果还不错,需要的朋友可以下载看下。。欢迎

2011-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除