自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 函数的指针

函数指针,顾名思义,它指向一个函数的入口地址,其定义及使用如下:     定义:returntype     (*ptr)               (typename   variable,......)                 返回类型           指针名称         指向函数的参数表。     你不能这样:     returntype     *ptr      

2009-12-31 15:44:00 479

原创 const 位置与指针的关系

int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b; [3]const int* const a = &b; [4]我们可以参考《Effective c++》Item21上的做法,如果const位于星号的左侧,则const就是用来修饰

2009-12-31 00:24:00 440

原创 字符串转换为小写的函数

 第一种 char* Tolower(const char * sSource,int len ){ if (NULL==sSource) {  return "" ; }  char Letter[]={0}; for (int n=0;n {  Letter[n] =tolower(*sSource); }    char* pnew=new char[len+1];    std::

2009-12-31 00:10:00 1181

原创 c++ 代码的执行顺序

1:在初始化列表中变量的初始化是按照他们在类定义中出现的先后顺序来初始化的2:对于派生类而言:是按照从左到右的顺序来对非虚基类进行初始化的 C++构造函数调用顺序1.     如果类里面有成员类,成员类的构造函数优先被调用;2.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类);3.     基类构造函数如果有多个基类,则构造函数的调用顺序是某

2009-12-30 21:51:00 8152 1

转载 c++ 数据类型转换 static_cast const_cast dymamic_cast reinterret_cast

* C++提供了四种新的类型强制: static_cast const_cast reinterpret_cast dynamic_cast  cast 在线翻译的意思是“投射”reinterpret 在线翻译是“重新解释”1)staic_cast静态强制; 不能在无关的指针之间进行static类型强制 class CAnimal { //... public: CAnimal(){}

2009-12-30 21:06:00 1149

原创 c++ 中的几种内存

1:常量数据区域 ----主要用于存储字符串常量以及其他在编译期就已经知道值的数据2:栈----主要用于存储一些程序中的临时变量3:动态内存区域分为两种:堆和自由存储区     堆(new/delete)     自由存储区(malloc/free)4:全局/静态----在程序启动的时候,全局变量/对象或者静态变量/对象就已经被分配的存储空间,但只有等到程序执行到的时候才可以进

2009-12-30 21:05:00 745

原创 名字查找 与名字空间

namespace A{    struct X;    struct Y;    void f(int);    void g(X);} namespace B{    void f(int i)     {        f(i);//将调用哪个函数?     }   void g(A::X x)      {        g(

2009-12-29 22:25:00 1066

转载 前置声明的使用

本贴为转帖 这篇文章很大程度是受到Exceptional C++ (Hurb99)书中第四章 Compiler  Firewalls and the Pimpl Idiom  (编译器防火墙和Pimpl惯用法) 的启发,这一章讲述了减少编译时依赖的意义和一些惯用法,其实最为常用又无任何副作用的是使用前置声明来取代包括头文件。Item 26 的Guideline - "Never #in

2009-12-29 22:23:00 547

转载 如何使用前置声明取代包括头文件

本贴为转帖 这篇文章很大程度是受到Exceptional C++ (Hurb99)书中第四章 Compiler  Firewalls and the Pimpl Idiom  (编译器防火墙和Pimpl惯用法) 的启发,这一章讲述了减少编译时依赖的意义和一些惯用法,其实最为常用又无任何副作用的是使用前置声明来取代包括头文件。Item 26 的Guideline - "Never #in

2009-12-29 21:01:00 373

原创 重载 ,覆盖,隐藏 区别

重载:同域不同参1:相同的作用域2:相同的函数名3:不同的参数覆盖:异域同参虚覆盖(便于记忆:抑郁同餐需覆盖,基类种中必须是虚函数)1:函数在基类种必须为虚函数2:不同的作用于域3:相同的参数作用:基类调用此函数时将调用派生类中的函数,派生类调用正常(必须给基类指针赋予派生类对象)隐藏:异域同名但无需(便于记忆:抑郁不想同餐,你就得隐藏起来)1:不同的作用域

2009-12-28 21:28:00 602

原创 CAsyncSocket的封装使用

步骤一:从CAsyncSocket派生出CAsyncSocketEx class CAsyncSocketEx: public CAsyncSocket 添加函数 SetResponseWnd(CWnd*pWnd);//pWnd是CAsyncSocket中函数具体响应的类对象指针 在CAsyncSocketEx中重写基类虚函数  virtual void OnClose(int

2009-12-28 15:18:00 1107

转载 NAT穿透

http://www.qqgb.com/Program/VC/VCnet/Program_149614.html论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念:    NAT(Network Address Translators),网络地址转

2009-12-26 11:36:00 447

转载 位拷贝=浅拷贝 值拷贝=深拷贝

首先定义String类,而并不实现其成员函数。Class String{public:     String(const char *ch=NULL);//默认构造函数     String(const String &str);//拷贝构造函数   ~String(void);    String &operator=(const String &str);//赋值函数private: 

2009-12-25 16:43:00 605

原创 VC 获取当前工作目录和执行目录的一些方法

1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径。2.   System.Environment.CurrentDirectory     获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3.   System.IO.Directory.GetCurrentDirector

2009-12-25 12:01:00 3839 3

转载 microsoft windows

http://technet.microsoft.com/zh-cn/library/cc757069(WS.10).aspx

2009-12-22 14:23:00 421

转载 setsockopt 设置socket 详细用法

setsockopt 设置socket 详细用法 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2.

2009-12-21 18:04:00 847

转载 DLL注册

.dll 或.ocx控件注册时,出现 DllRegisterServer 失败提示。返回代码是: 0x80004005---------------------------解决办法---------------------------有两种方法方法1.定位到HKEY_LOCAL_MACHINE/SOFTWARE/Classes

2009-12-21 18:03:00 2709 1

原创 vc 每次都重新编译的原因

原因:程序的文件的时间比当前的时间还要新!           也就是说你改过机器的时间,并且是改到以前了!

2009-12-02 14:40:00 1293

空空如也

空空如也

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

TA关注的人

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