笑看风云

记录生活中的启迪与感动
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C++

1

摘要:#include<iostream>using namespace std;int main(){ int a[10]; for(int i=0;i<10;i++) a[i]=i; memcpy(&a[4],a,sizeof(int)*6); for(i=0;i<10;i++) cout<<a[i]<<endl;}很简单的小程序!不过已经足以达到我的目的了:)将上面代码gcc之后再运行,结果为... 阅读全文

posted @ 2012-03-05 18:52 清晨的风 阅读(156) 评论(0) 推荐(0)

摘要:int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b;// 栈 char s[] = "abc"; //栈 char *p2; //栈 char *p3 = "123456"; 123456\0";//在常量区,p3在栈上。 static int c =0; //全局(静态)初始化区 p1 = (char *)malloc(10); p2 = (ch... 阅读全文

posted @ 2012-03-01 16:26 清晨的风 阅读(133) 评论(0) 推荐(0)

摘要:一、errno的由来     在C编程中,errno是个不可缺少的变量,特别是在网络编程中。如果你没有用过errno,那只能说明你的程序不够健壮。当然,如果你是WIN32平台的GetLastError(),效果也是一样的。     为什么会使用errno呢?个人认为,这是系统库设计中的一个无奈之举,他更多的是个技巧,而不是架构上的需要。我... 阅读全文

posted @ 2010-03-09 10:01 清晨的风 阅读(222) 评论(0) 推荐(0)

摘要:C++程式设计过程中,const的使用可以频度是非常高的.它在保证程式安全方面起到了不可估量的作用. 用一句话来表达最确切不过了:”小兵立大功”. 有了const,那么mutable当然缺不了. 然作为const的同胞兄弟,volatile却在很多人的视野中消失.其实volatile担负的责任有何尝小呢? 自然,它们的用法多样而灵巧,以至新手迷惑久久,下面就来系统的探讨总结一下吧: 一.一般应用... 阅读全文

posted @ 2010-02-09 11:06 清晨的风 阅读(337) 评论(1) 推荐(1)

摘要:类图:   C++代码: #include <list>#include <iostream>using namespace std;class Observer;class Subject{public: virtual void attach(Observer *o)=0; virtual void change()=0; virtual void set... 阅读全文

posted @ 2010-01-14 10:01 清晨的风 阅读(242) 评论(0) 推荐(0)

摘要:头文件: /*********************************************************************************************** OICQ协议分析类* version: 1.0* author: yuzaobo* description: OICQ分析是通过端口+特征码来实现的, 目前版本限定TCP连接Se... 阅读全文

posted @ 2010-01-13 14:36 清晨的风 阅读(8207) 评论(1) 推荐(1)

摘要:转自 http://www.azure.com.cn/图一:此实线箭头表示, 继承, 从一个非接口类的继承. 图二:那条连线表示双向关联: 看左边, Flight扮演assignedFights角色, 有0到1个Plane跟他关联(一个航班要么取消了没有飞机,要么只能对应一架飞机) 看右边, Plane扮演着assignedPlane角色, 有0到多个Flight跟他关联(一个飞机可以参与多个航班... 阅读全文

posted @ 2010-01-13 13:40 清晨的风 阅读(254) 评论(0) 推荐(0)

摘要:控制台程序在Windows程序的角色中是非常強大且方便的,像VC,C#,Delphi等等,好多功能強大的語言都支持控制台程序。她沒有複雜的GUI,完全是32位的程序,能夠調用除GDI 函數之外的API,支持多線程,支持MFC等等。用她來調試程序、學習程序設計、做實驗等是再合適不過的了。我經常把我試驗性的程序用控制台方式來寫,非常方便。 Console程序不像Win32 GUI程序那樣具有消息隊列,... 阅读全文

posted @ 2009-12-31 14:52 清晨的风 阅读(635) 评论(0) 推荐(0)

摘要://创建普通文件夹BOOL CreateDirectory( LPCTSTR lpPathName, // directory name LPSECURITY_ATTRIBUTES lpSecurityAttributes // SD);//在根目录下创建文件夹include <imagehlp.h>#pragma comment(lib,"imagehlp.lib")BOOL Mak... 阅读全文

posted @ 2009-12-30 15:20 清晨的风 阅读(2196) 评论(0) 推荐(0)

摘要:工厂方法创建一般只有一个方法,创建一种产品。 抽象工厂一般有多个方法,创建一系列产品。 目的不一样 工厂方法创建 "一种" 产品,他的着重点在于"怎么创建",也就是说如果你开发,你的大量代码很可能围绕着这种产品的构造,初始化这些细节上面。也因为如此,类似的产品之间有很多可以复用的特征,所以会和模版方法相随。 抽象工厂需要创建一些列产品,着重点在于"创建哪些"产品上,也就是说,如果你开发,你的主要任... 阅读全文

posted @ 2009-12-24 15:52 清晨的风 阅读(1371) 评论(0) 推荐(0)

摘要:[代码] 阅读全文

posted @ 2009-12-24 14:23 清晨的风 阅读(510) 评论(0) 推荐(1)

摘要:mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的... 阅读全文

posted @ 2009-12-24 12:50 清晨的风 阅读(262) 评论(0) 推荐(0)

摘要:1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.下面是a.c的内容[代码]下面是main.c的内容:[代码]程序的运行结果是:A Hello 你可能会问:为什么在a.c中定义的全局变量a和函数msg能在main.c中使用?前面说... 阅读全文

posted @ 2009-12-24 10:15 清晨的风 阅读(260) 评论(0) 推荐(0)

摘要:select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: int select(int maxfd, fd_set *rdset, fd_set *wrset, fd_set *exset, struct timeval *timeout); 参数maxfd是需要监视的最大的文件描述符值+1;rdset,wrset,exset分别对应于需要检测的可读文件描述符的集合,可... 阅读全文

posted @ 2009-12-21 15:56 清晨的风 阅读(1760) 评论(0) 推荐(0)

摘要:迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))的对象,我们可以将它理解成为一个指针。但它又不是我们所谓普通的指针,我们可以称之为广义指针,通过sizeof(vector::iterator)来查看,所占内存并不是4个字节。对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器失效。vector元素在... 阅读全文

posted @ 2009-12-18 10:24 清晨的风 阅读(674) 评论(0) 推荐(0)

摘要:STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string.二 : 关联容器, 有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap三: 其他的杂项: stack, queue, valarray, bitsetSTL各个容器的实现: (1) ve... 阅读全文

posted @ 2009-12-18 10:03 清晨的风 阅读(773) 评论(0) 推荐(0)

摘要:版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://qq164587043.blog.51cto.com/261469/49492 堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配... 阅读全文

posted @ 2009-12-17 15:45 清晨的风 阅读(633) 评论(1) 推荐(0)

摘要:WSAStartup()连结应用程序与Winsock.DLL 的第一个函数。格 式:  int WSAStartup( WORD wVersionRequested,LPWSADATA lpWSAData )参 数:  wVersionRequested 欲使用的 Windows Sockets API 版本  lpWSAData 指向 WSADATA 资料的指标传回值:  成功 - 0  失败 ... 阅读全文

posted @ 2009-12-16 17:28 清晨的风 阅读(634) 评论(0) 推荐(0)

摘要:在程序中常常需要处理字符串,除了以前写的一些关于char的方法的总结外,很多的时候也会用到string来进行字符串处理。下面对它的常用方法做些总结: 1、定义:string &operator=(const string &s);//把字符串s赋给当前字符串string &assign(const char *s);//用c类型字符串s赋值string &assig... 阅读全文

posted @ 2009-12-16 17:11 清晨的风 阅读(468) 评论(0) 推荐(0)

摘要:erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从pos开始的n个... 阅读全文

posted @ 2009-12-16 17:02 清晨的风 阅读(2639) 评论(0) 推荐(0)

1