上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 73 下一页
摘要: 原文链接纯虚函数的作用 在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。1.首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。2.关于实例化一个类:有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。比如:classCA{public:virtualvoidfun()=0;//说明fun函数为纯虚函数virtualv. 阅读全文
posted @ 2012-05-13 02:55 wangkangluo1 阅读(3556) 评论(1) 推荐(0) 编辑
摘要: 原文链接Cpp代码#include <iostream.h>class Base { public: Base() { mPtr = new int; } ~Base() { delete mPtr; cout<<"Base::Destruction"<<endl;} private: int* mPtr; } ;class Derived : public Base { public: Derived() { mDerived = new long; } ~Derived() { delete mDerived; cout<< 阅读全文
posted @ 2012-05-11 19:51 wangkangluo1 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 原文链接也许有人不知道CDB是什么,CDB是windbg的小兄弟,基于command line,对于我这个比较喜欢用command line的人,CDB比windbg更容易上手。象GDB,CDB这些工具,命令都很多,但是我们只要熟记最常用的"三板斧"就可以工作了。1.启动1)直接调试:gdb program [core]cdb programorcdb -z DumpFile2)attach方式gdb attach pidcdb -pn ExeNameorcdb -p pid2.显示堆栈GDB: btCDB: k3. 设置断点GDB: b [file:]lineCDB: b 阅读全文
posted @ 2012-05-11 18:48 wangkangluo1 阅读(4337) 评论(0) 推荐(1) 编辑
摘要: 原文链接成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖:派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。函数Base::f(int)与Base::f(float)相互重载,而Base::g(void)被Derived::g(void)覆盖。#include <iostream.h>cl 阅读全文
posted @ 2012-05-09 11:25 wangkangluo1 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 原文链接用途说明iconv命令是用来转换文件的编码方式的(Convert encoding of given files from one encoding to another),比如它可以将UTF8编码的转换成GB18030的编码,反过来也行。JDK中也提供了类似的工具native2ascii。Linux下的iconv开发库包括iconv_open,iconv_close,iconv等C函数,可以用来在C/C++程序中很方便的转换字符编码,这在抓取网页的程序中很有用处,而iconv命令在调试此类程序时用得着。常用参数首先,我们要知道支持的字符编码有哪些,这个可以用-l参数得到(List k 阅读全文
posted @ 2012-05-08 20:33 wangkangluo1 阅读(10395) 评论(0) 推荐(0) 编辑
摘要: 原文链接正则表达式用于字符串处理、表单验证等场合,实用高效。以下表达式本人收集于网络,做了简单整理,以备不时之需。没有全部验证,可能会存在部分错误,读者请自己调试鉴别更正。匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:ns*r评注:可以用来删除空白行匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?</1>|<.*? />评注:网上 阅读全文
posted @ 2012-05-08 18:57 wangkangluo1 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 原文链接tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。一、概述顾名思义,tcpdump可以将网络中传 阅读全文
posted @ 2012-05-08 18:45 wangkangluo1 阅读(18914) 评论(0) 推荐(0) 编辑
摘要: 原文链接20 世纪 90 年代,UNIX 应用程序开始支持长选项,即一对短横线、一个描述性选项名称,还可以包含一个使用等号连接到选项的参数。GNU提供了getopt-long()和getopt-long-only()函数支持长选项的命令行解析,其中,后者的长选项字串是以一个短横线开始的,而非一对短横线。getopt_long() 是同时支持长选项和短选项的 getopt() 版本。下面是它们的声明:#i nclude <getopt.h>int getopt_long(int argc, char * const argv[], const char *optstring, con 阅读全文
posted @ 2012-05-08 06:31 wangkangluo1 阅读(1993) 评论(0) 推荐(0) 编辑
摘要: 原文链接 参考 gnu 文档 longoptLinux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt()是一个专门设计来减轻命令行处理负担的库函数。1、命令行参数命令行程序设计的首要任务是解析命令行参数,GUI派的程序员很少关心这个。这里,对参数采用了一种比较通俗的定义:命令行上除命令名之外的字符串。参数由多项构成,项与项之间用空白符彼此隔开。参数进一步分为选项和操作数。选项用于修改... 阅读全文
posted @ 2012-05-08 06:25 wangkangluo1 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 原文链接struct event_base* event_init(void): 使用前必做的一件事,初始化事件API。void event_set(struct event *ev, int fd, short event, void (*fn)(int, short, void *),void *arg);初始化一个事件 ev.fd 表示文件描述符。event 关注的事件类型.可用‘|’类型组合。EV_TIMEOUT-时间通知EV_SIGNAL-信号通知EV_READ-可读通知EV_WRITE-可写通知EV_PERSIST-额外的标记,表示添加为永久事件,直到调用event_delfn 函 阅读全文
posted @ 2012-05-08 05:51 wangkangluo1 阅读(1408) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 73 下一页