自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (4)
  • 收藏
  • 关注

转载 c++接口定义及实现举例

一、接口的定义有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看就应该能够明白)Class IPerson{

2013-09-30 09:45:25 946

转载 回调函数

回调函数:如果参数是一个函数指针,调用者可以传递一个函数的地址给实现者,让实现者去调用它,这称为回调函数(Callback Function)。回调机制包括两部分:服务执行者和服务方式制定者。             1. 服务执行者先制定服务规范;---------客户提需求             2.服务方式制定者然后按照规范制定服务方式;---------供应商实现

2013-09-26 22:57:40 384

转载 Sprintf新解

由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。所以本文着重介绍sprintf,有时也穿插着用用pritnf。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *fo

2013-09-26 22:22:01 513

原创 随机码的生成

最近要用到随机码来做唯一标识,所以学习了下定义函数const char* newGUID();实现函数const char* newGUID(){GUID guid;                                              //定义GUID变量,到时候生成随机窜char szGUDI[64] = {0};

2013-09-26 21:22:18 717

原创 读ini文件

第一步,在debug文件总创建ini文件非常简单,就是一个ixt文件,把后缀改为ini(具体文件名依据情况来定)然后是section,prameter=value(具体见ini格式的相关知识)第二步,在程序中读ini文件的内容用到的相关函数是:GetModuleFileName                                    GetProfileInt

2013-09-26 13:11:38 629

转载 char*和CString转换

char*和CString转换CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于 CString 地址之下的一个隐藏区域)以及一个缓冲区长度。 有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。(1) ch

2013-09-25 23:13:15 480

转载 INI文件格式及其读写

ini文件(Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。1. 把信息写入系统的win.ini文件[cpp] view

2013-09-25 18:03:20 3529

转载 INI配置文件的格式

为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。          本文主要是为读者在实现读写INI配置文件模块之前,提供有关INI文件的格式信息。

2013-09-25 18:02:31 603

转载 一个List,怎么删除其中不想要的元素

对于一个List怎么删除不想要的元素,这样写为什么会报错呢List list = new ArrayListString>();for(String str:list){  if(str.length()5){     list.remove(str);  }}上述代码报错是为什么呢?2012-05-27 15:00:32回复

2013-09-25 18:02:01 1108

转载 vc中release和debug的区别

DEBUG和RELEASE 版本差异及调试相关问题:I.         内存分配问题1.           变量未初始化。下面的程序在debug中运行的很好。       thing * search(thing * something)         BOOL found;         for(int i = 0; i          

2013-09-25 18:01:55 537

转载 sprintf

printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命

2013-09-18 17:50:25 384

转载 构造函数,析构函数可不可以是虚函数?

一定要有面向对象的概念,从面向对象的角度来考虑,比如:eg.子类在声明一个对象时必先调用父类的构造函数如果父类的构造函数是个虚函数又万一与子类中的某个函数重名、重参数列表那该如何是好:)从实现上看,vbtl在构造函数调用后才建立,因而构造函数不可能成为虚函数从实际含义上看,在调用构造函数时还不能确定对象的真实类型(因为子类会调父类的构造函数)

2013-09-17 17:32:13 2091

转载 C++中Timer的使用

SDK开发采用系统的SetTimer、KillTimer函数来注册和释放Timer回调函数。 创建Timer事件::SetTimer(hWnd,5,1000, OnTimer);5为Timer编号,一个窗口句柄可以对应多个编号,不同窗口可以使用同样的编号。1000为1000毫秒运行一次,OnTimer为回调函数,声明如下 void CALLBACK OnTimer (H

2013-09-16 13:05:15 12847

转载 C++ Timer定时器

什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。让我们先来看看SetTimer函数的原型: UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD))当使用SetTimer函数的

2013-09-16 13:03:01 5889

转载 C/C++中结构体(struct)

结构体可以看做是一种自定义的数据类型,它还有一个很重要的特性,就是结构体可以相互嵌套使用,但也是有条件的,结构体可以包含结构体指针,但绝对不能在结构体中包含结构体变量。struct test {     char name[10];     float socre;     test *next; };//这样是正确的!struct test {    

2013-09-13 17:33:04 671

转载 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。  堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没有释

2013-09-13 17:32:30 534

转载 C++堆内存空间详解(释放内存、内存泄露)

里要来客人了,我们要给客人们泡茶。如果规定只能在确定来几位客人之前就把茶泡好,这就会显得很尴尬:茶泡多了会造成浪费,泡少了怕怠慢了客人。所以,最好的方法就是等知道了来几位客人再泡茶,来几位客人就泡几杯茶。然而,我们在使用数组的时候也会面临这种尴尬:数组的存储空间必须在程序运行前申请,即数组的大小在编译前必须是已知的常量表达式。空间申请得太大会造成浪费,空间申请得太小会造成数据溢出而使得程序

2013-09-13 17:31:01 1094

转载 C/C++中的日期和时间 time_t与struct tm转换

摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概

2013-09-12 17:45:05 551

转载 \r \n有什么区别

'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一

2013-09-12 17:43:40 545 1

转载 C/C++时间函数的使用

一、获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是: typedef long time_t;        /* time value */可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分07秒。函数time可以获取

2013-09-12 17:43:18 523

转载 简单工厂模式C++实现

简单工厂模式SimpleFactory.h// --SimpleFactory.h#ifndef _SIMPLE_FACTORY_H#define _SIMPLE_FACTORY_Hclass Operation{public: virtual int GetResult() = 0; void SetNumA(int a); v

2013-09-12 17:42:48 448

转载

C/C++设计模式的问题还有一种情况就是在父类中并不知道具体要实例化哪一个具体的子类。这里的意思为:假设我们在类A中要使用到类B,B是一个抽象父类,在A中并不知道具体要实例化那一个B的子类,但是在类A的子类D中是可以知道的。在A中我们没有办法直接使用类似于new ×××的语句,因为根本就不知道×××是什么。这个是什么意思?关键是"但是在类A的子类D中是可以知道的",为什么D知道

2013-09-12 17:41:57 514

转载 C++设计模式

C++设计模式 C++设计模式之Adapter一、功能   将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。二、结构图(1)class adapter(2)object adapter

2013-09-12 17:39:46 436

转载 十一、堆内存、

C++ 编程基础教程作者:TeliuTe 来源:基础教程网十一、堆内存、 返回目录 堆内存可以动态分配所需的内存空间大小,而数组必须要在程序运行前指定空间大小,下面我们来看一个练习; 1、启动 Geany 1)点菜单“应用程序-编程-Geany”启动 Geany ,新建一个 c++ 源程序; 2)点菜单“文件-另存为”命令,以“heap”为文件名,保存文件到自己的文件夹;

2013-09-12 17:38:56 470

原创 C++命名规范

常见命名法:匈牙利命名法:基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。Camel命名法:即骆驼式命名法,原因是采用该命名法的名称看起来就像骆驼的驼峰一样高低起伏。Camel命名法有两种形式:混合使用大小写字母和单词之间加下划线,例如runFast和run_fa

2013-09-12 13:34:52 523

转载 CString 与其他数据类型的转换

1. CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char

2013-09-09 15:42:55 700

转载 如何正确的关闭 MFC 线程

前言:  近日在网上看到很多人问及如何关闭一下线程,但是我看网上给出的并不详细,而且有些方法还是错误的。小弟在此拙作一篇,不谈别的,只谈及如何正确的关闭MFC的线程,至于Win32和C RunTime的线程暂不涉及。一.关于MFC的线程  1.MFC的线程有两种,一种称为Work线程,一种称为UI线程。一般情况下Work线程与UI线程的区别主要在于UI线程有消息队列(并不是

2013-09-09 15:41:55 483

转载 如何检测内存泄漏

初识Visual Leak Detector       灵活自由是C/C++语言的一大特色,而这也为C/C++程 序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严 重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程序长时间运行时,

2013-09-09 15:36:23 806

转载 VC中ComboBox使用详解

VC中ComboBox使用详解一、如何添加/删除Combo Box内容1,在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。2,在程序初始化时动态添加如: //控件内容初始化 CString strTemp; ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetCo

2013-09-09 15:34:42 1263

统计学习方法

统计学习方法,标准的国内教材,基本该涉及到的知识点都设计到了,就是不适合用来学习。只适合用作在学习完国外的教材或者课程之后当作手册来查询。

2018-08-19

c# 类的静态字段操作

c#语言现今的应用十分广泛,本例是其在类对象中对静态成员进行操作的一个实例

2014-08-15

计算机科学学科信息导报2010年第2期

计算机专业文献,是计算机科学学科信息学科方面的专业性文档。计算机科学学科信息导报2010年第2期计算机科学学科信息导报2010年第2期

2011-06-30

dos命令详细列表和解释

很详细的dos命令,有详解的哦,希望对大家有用

2011-03-31

空空如也

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

TA关注的人

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