自定义博客皮肤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)
  • 资源 (6)
  • 收藏
  • 关注

原创 InstallShield.12.豪华完全版 安装与激活说明

<br />下载 InstallShield.12.豪华完全版<br /> <br />安装过程:<br />1. 断开网络,进行离线安装<br />2. 安装 "/离线安装必须/" 下的所有可执行文件,如果提示已有,则没必要安装了<br />3. 运行 [InstallShield.12.豪华完全版].installshield12.Premier.Edition.exe<br /> <br />激活过程:<br />1. 运行installshield12时,提示激活, 随便输入数字,点下一步后,出错,

2010-08-18 10:18:00 10770 4

原创 union, struct, enum 的 大小区别

typedef enum{ ANUnknown = 0, ANShapeFile = 1, ANSDEDatabase = 2, ANFileDatabase = 3, ANRasterFile = 4}ANDataType;sizeof(ANDataType) 为 4=============================================

2010-05-30 17:28:00 4776 5

原创 设计模式(7)-Singleton Pattern

2009-06-11 17:02:00 561

原创 const可以出现在函数头,参数列表,以及参数尾

const可以出现在函数头,参数列表,以及参数尾 如:   const int& SetPoint(const int& param) const  第一个const: 函数的返回值限定为const,即返回值不能被修改. const int a=SetPoint(...) a在此之后便不能被修改  第二个const:就是你所问的const 指函数的形参为const类型,函数

2009-04-24 13:44:00 1144

原创 【转】一个简单的线程池(c++版)

#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include cassert>#include vector>#include queue>#include windows.h>class ThreadJob  //工作基类{publi

2009-04-21 11:38:00 1013 1

转载 C++类类型的转换

             说到类型转换,编写过程序的一定不会感到陌生。如:      double d = 3.1415;      int i = 2;      d = d * i;      上面的代码可以正常编译和运行(也许有些编译器会发出警告)。在c++中,对这些不同的内置类型发生运算操作时候,会自动进行类型的匹配。一般是低精度的类型自动匹配到高精度的类型。而对于复杂的类型,如结构体和类

2009-04-20 17:20:00 919

原创 栈的C语言实现

1。栈的C语言实现-数组实现 #include #include  #define DEP 3  int stack[DEP]; int top = -1;  void push(int value) {     if(top DEP - 1)         stack[++top] = value;     else       

2009-04-03 21:44:00 566

原创 C++中的虚函数的作用

 纯虚函数主要是你不知道这个函数如何定义,即你无法为其写出定义部分,这部分只有在子类中才能够正确表达,比如,我们要定义一个动物类,那它的呼吸方法怎么定义呢,是像鱼那样,还是像人那样,这个没法确定,只能在子类中去定义而虚函数则是肯定知道这个函数的定义,并且大部分子类对这方法的定义应该是差不多的,比如我们要定义一个树类,树都可以进行光合作用,大部分树其进行光合作用的方法都差不多吧,我们就可以将这个方法

2009-04-02 11:06:00 1290 1

原创 C++中虚函数的作用是什么?它应该怎么用呢?

 虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。 下面是对C++的虚函数这玩意儿的理解。 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始) 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语

2009-04-02 11:04:00 3363

原创 走近 STL

  本文面向的读者:学习过C++程序设计语言(也就是说学习过Template),但是还没有接触过STL的STL的初学者。这实际上是我学习STL的一篇笔记,老鸟就不用看了。什么是泛型程序设计  我们可以简单的理解为:使用模板的程序设计就是泛型程序设计。就像我们我们可以简单的理解面向对象程序设计就是使用虚函数的程序设计一样。STL是什么   作为一个C++程序设计者,STL是一种不可忽视的技术。San

2009-04-01 22:22:00 592

原创 STL容器的基本特性和特征

 1. STL有6种序列容器类型(1)vector它提供对元素的随即访问,在尾部添加和删除元素的时间是固定的,在头部或中部插入和删除元素的复杂度为线性时间。(2)deque在文件中声明。是双端队列,支持随即访问。从deque的开始与末尾位置插入和删除元素的时间是固定的。尽管vector和deque都提供对元素的随机访问和在序列中部执行线性时间的插入和删除操作,但vector容器执行这些操作时速度更

2009-04-01 20:27:00 1034

原创 堆和栈的区别(转)

堆和栈的区别(转贴,作者为一c++程序员,具体姓名不清楚) 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—> 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—> 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似

2009-03-09 22:31:00 549

原创 在你的C++程序里实现委托 (转)

 [说明]     本文不仅介绍了C++语言应用非常好的一种方法(我甚至觉得应该将它归结为一种设计模式),而且也是对C#语言中委托特性底层实现的一个很好的说明。        阅读本文,你应当对委托的概念有所了解;在讨论委托是实现时,你应当对标准模板库(STL)中的list容器以及迭代器(iterator)有所了解。在这篇文章中,暂不讨论类成员函数。 1.C#中的委托 

2009-03-02 10:12:00 867 1

原创 接口和委托的区别(转)

 接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。接口(interface)是向客户承诺类或结构体的行为方式的一种合同,当实现某个接口时,相当于告诉可能的客户:“我保证支持这个接口的方法,属性等”,接口不能实例化,接口只包含成员定义,不包含成员的实现,成员的实现需要在继承的类或者结构中实现。C#中的委托是一种引用方法的类型,一旦为委托分配了方法,委

2009-03-01 20:48:00 1279 1

原创 C++中使用接口(转)

面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。首先我们需要一些宏://// Interfaces.h//#define Interface class#defi

2009-03-01 20:41:00 592

原创 在C++中用虚函数及模版实现委托(支持自定义参数)(转)

 #include "stdio.h"class CObject{};class Event{  public:    unsigned long EventType;  public:    Event(unsigned long EventType)    {      this->EventType = EventType;    }};class Handler{  pub

2009-03-01 20:40:00 610 1

原创 委托与事件(转)

一、什么是委托      下面引用自 MSDN      委托类型声明的格式如下:public delegate void TestDelegate(string message);      delegate 关键字用于声明一个引用类型,该引用类型可用于封装命名方法或匿名方法。委托类似于 C++ 中的函数指针;但是,与函数指针不同,委托是面向对象和类型安全的。      通过

2009-03-01 20:39:00 606

原创 如何测试内存泄露

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

2009-02-27 19:24:00 5453

原创 什么是多态(转)

一.什么是多态(Polymorphism)多态(Polymorphism)是面向对象(Object-Oriented,OO)思想"三大特征"之一,其余两个分别是封装(Encapsulation)和继承(Inheritance)--可见多态的重要性。或者说,不懂得什么是多态就不能说懂得面向对象。 多态是一种机制、一种能力,而非某个关键字。它在类的继承中得以实现,在类的方法调用中得以体现。

2009-02-22 21:30:00 5727 1

原创 Socket模型详解

Winsock 的I/O操作:1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。为了解决这个问题,提出了进行I/O操

2009-02-20 11:11:00 1258 1

原创 C++类继承关系

在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,代表了接口继承含义,而他们分别具体代表了什么含义呢? 1. public    从语义角度上来说,public继承是一种接口继承,根据面向对象中的关系而言就是,子类可以代替父类完成父类接口所声明的行为,也就是必须符合“Liskov替换原则(LSP

2009-02-20 10:40:00 1848

原创 多态

多态性主要体现在虚函数的调用 在C++中,虚函数的调用使用的是动态绑定,也有人说是晚捆绑,也就是在程序运行时才决定调用的函数。 上面的讲法比较抽象,举个例子  #include using namespace std; class Bird{ public:      virtual void fly()     {          cout "Bird

2009-02-18 22:20:00 677

原创 类的对象和类的指针的区别

如下程序: #include #include using namespace std; class Student { public: static int number;  string name; public: Student() { } void set(string str) { name = str; number++;    // 调用静态数据成员 } void print()

2009-02-18 21:54:00 13993 7

原创 函数atoi,itoa 的实现

1.//整数转换成字符串itoa函数的实现 #include "stdafx.h"#include using namespace std;void itoaTest(int num,char str[] ){       int sign = num,i = 0,j = 0;       char temp[11];       if(sign      

2009-02-18 13:28:00 768

原创 public,private,protected 作用 区别

公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作  私有成员private member 只能被成员函数和类的友元访问实行信息隐藏的类把其数据成员声明为private  被保护成员protected member 对派生类derived class 就像 pu

2009-02-18 13:18:00 2466

原创 uinion数据类型

 uinion数据类型是指不同的数据项存放于同一段内存单元的一种数据结构类型!     这么多的成员共同占同一个空间,空间大小由类型最大的确定,如下的空间就为一个float类型大小;     如:   一个共同体变量不是同时存放多个成员的值,而只能存放其中的一个值,  就是最后赋予它的值;        union test        {            int   a;  

2009-02-15 23:14:00 1310

原创 不能使用任何库函数,编写memcpy函数

 void* mymemcpy(void* pvTo, const char* pvFrom, size_t size){     assert((dest != NULL) && (src != NULL));      byte* psTo = (byte*)pvTo;     byte* psFrom = (byte*)pvFrom;          whi

2009-02-15 03:56:00 971 1

原创 内存的思考题

void GetMemory(char *p){     p = (char *)malloc(100);} void Test(void) {     char *str = NULL;     GetMemory(str);     strcpy(str, "hello world");     printf(str);} 结局:程序崩溃。因

2009-02-15 03:50:00 573 1

原创 编写类String的构造函数、析构函数和赋值函数

已知类String的原型为: class String{public:     String(const char *str = NULL);// 普通构造函数     String(const String &other);    // 拷贝构造函数     ~ String(void);    // 析构函数     String & operate =(c

2009-02-15 03:48:00 1610

原创 不调用C++/C的字符串库函数,请编写函数 strcpy

char *strcpy(char *strDest,const char *strSrc){     int n=0;      while(strSrc[n]!=NULL)     {         n++:     }      *srtDest=new char[n];      for(int i=0;i     {        

2009-02-15 03:47:00 3030 2

原创 BOOL , float, 指针变量 与“零值”比较的 if 语句

 提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为:    if ( n == 0 )    if ( n != 0 )以此类推。 请写出 BOOL  flag 与“零值”比较的 if 语句:请写出 float  x 与“零值”比较的 if 语句:请写出 char  *p 与“零值”比较的 if

2009-02-15 03:45:00 2449

原创 Test b();

 struct Test{    Test( int ) {}    Test() {}    void fun() {}};void main( void ){    Test a(1);    a.fun();    Test b();    b.fun();}***  Test b();//定义了一个函数 应该改为:  

2009-02-15 03:42:00 684

原创 代码中的输出语句输出0吗,为什么

struct CLS{    int m_i;    CLS( int i ) : m_i(i) {}    CLS()    {        CLS(0);    }};CLS obj;cout --- 不是, 我个人是这样理解的:因为在CLS()中调用了CLS(0),所以在CLS()中又构造出一个CLS匿名对象,并用0来初始化该成员变量,而不是oj

2009-02-15 03:41:00 827

原创 3对字符串比较,为什么结果不一样?

     char str1[]       = "abc";     char str2[]       = "abc";     const char str3[] = "abc";      const char str4[] = "abc";      const char* str5  = "abc";     const char* str6  = "abc

2009-02-15 03:32:00 658

原创 局部变量、全局变量、静态变量

 静态变量的类型说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。对于自动变量,它属于动态存储方式。 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。  由此看来, 一个变量可由st

2009-02-15 03:26:00 2004 2

原创 把一个链表反向填空

   void reverse(test* head)  {     test* pe = head;     test* ps = head->next;     while(ps)     {           pe->next = ps->next;        ps->next = head;        head = ps;        p

2009-02-15 03:25:00 2063

原创 实现双向链表删除一个节点P,在节点P后插入一个节点

双向链表删除一个节点P template void list::delnode(int p){     int k=1;     listnode *ptr,*t;     ptr=first;     while(ptr->next!=NULL&&k!=p)     {         ptr=ptr->next;         k++;     }

2009-02-15 03:23:00 4239

原创 Socket模型详解

 Winsock 的I/O操作:1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。为了解决这个问题,提出了进行I

2009-02-15 03:21:00 1144

原创 C++类继承关系

C++类继承关系问题 在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,代表了接口继承含义,而他们分别具体代表了什么含义呢? 1. public    从语义角度上来说,public继承是一种接口继承,根据面向对象中的关系而言就是,子类可以代替父类完成父类接口所声明的行为,也就是必须符合

2009-02-15 03:17:00 14918

原创 静态数据成员/函数 与 非静态数据成员/函数 关系

 静态数据成员/静态成员函数 静态数据成员/静态成员函数 与静态数据成员/静态成员函数 之间的关系,以及之间如何相互调用。 1.  静态成员函数 可以直接访问 静态数据成员/静态成员函数如例程所示:#include #include using namespace std; class Student {      static int numb

2009-02-14 23:47:00 1893

WinXPSP2Firewall_demo

WinXPSP2Firewall_demo

2012-02-16

精通正则表达式:第3版.chm

精通正则表达式:第3版.chm s

2009-03-06

c++标准程序库自修教程与参考手册.pdf

c++标准程序库自修教程与参考手册.pdf

2009-03-06

好用的ADSL拨号软件

一个很好用的ADSL自动拨号程序,非常方便

2008-09-02

ADSL自动拨号软件

一个很好的ADSL 拨号软件,能自动进行ADSL拨号,很方便

2008-09-02

RichCopy 2.0

微软内部的文件传输工具,很不错的

2008-06-25

空空如也

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

TA关注的人

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