上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 从实现装饰者模式中思考C++指针和引用的选择最近在看设计模式的内容,偶然间手痒就写了一个“装饰者”模式的一个实例。该实例来源于风雪涟漪的博客,我对它做了简化。作为一个经典的设计模式,本身并没有太多要说的内容。但是在我尝试使用C++去实现这个模式的实例的时候,出现了一些看似无关紧要但是却引人深思的问题。首先,我想简单介绍一下这个实例的含义。实例的目的是希望通过装饰器类对已有的蛋糕类进行装饰补充,于是按照装饰者模式的设计结构,有类似图1的设计结构。图1 装饰者模式蛋糕类和装饰器类都继承于一个公共的基类,该基类声明了一些公共接口。这里简单的使用getName来返回当前蛋糕的名称,而装饰器类可以对该蛋 阅读全文
posted @ 2012-11-19 20:43 Florian 阅读(2896) 评论(14) 推荐(2) 编辑
摘要: 《Effective C++》读书摘要最近刚读完侯捷的《Effective C++》,相对来说,这本书的内容比较贴近基础,对于刚掌握C++基础的人会有不少的提高。不过书中还是涉及了不少C++的高级特性,阅读起来需要查阅相关的资料。书中给出了大量的示例和代码来说明具体规则的原理,我按照书中给出的标题将每个条目的关键内容整理如下。一方面是保留一份读书笔记,另一方面也是为了方便日后查阅方便。当然,如果不能从简单摘要的内容回忆起具体信息,到时再查书也不迟。同时也期望大家能从中找到自己没有注意的知识点,有所提高,大牛勿喷~ ☺。(一)、让自己习惯C++一、C++语言联邦多重范型编程语言:过程式、面向对象 阅读全文
posted @ 2012-11-18 10:11 Florian 阅读(15801) 评论(3) 推荐(4) 编辑
摘要: 那些陌生的C++关键字学过程序语言的人相信对关键字并不陌生。偶然间翻起了《C++ Primer》这本书,书中列举了所有C++的关键字。我认真核对了一下,竟然发现有若干个从未使用过的关键字。一时间对一个学了六年C++的自己狠狠鄙视了一番,下决心一定要把它们搞明白!图1红色字体给出的是我个人感觉一般大家都会比较陌生的关键字,下边我们逐个学习。图1 C++ 关键字一、typeid从名字直观看来,该关键字应该是获取语言元素的类型ID。其实它和sizeof类似,是一个类型运算符。有时候代码可能需要获取某个变量或者类型的名字,这时候使用typeid就比较合适。使用格式:typeid(int)或typeid 阅读全文
posted @ 2012-11-07 19:06 Florian 阅读(14157) 评论(5) 推荐(5) 编辑
摘要: 黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的内容,在Windows环境下的黑客必须熟练掌握底层API编程。为了使读者对黑客常用的Windows API有个更全面的了解以及方便日后使用API方法的查询,特将这些常用的API按照7大分类进行整理如下,希望对大家的学习有所帮助。一、进程创建进程:CreateProcess("C:\\windows\\notepad.exe",0,0,0,0,0,0,0,&si,&pi);WinExec("notepad",SW_SHOW);ShellExecute(0,"op 阅读全文
posted @ 2012-09-01 20:49 Florian 阅读(12010) 评论(29) 推荐(16) 编辑
摘要: 远程线程注入引出的问题一、远程线程注入基本原理远程线程注入——相信对Windows底层编程和系统安全熟悉的人并不陌生,其主要核心在于一个Windows API函数CreateRemoteThread,通过它可以在另外一个进程中注入一个线程并执行。在提供便利的同时,正是因为如此,使得系统内部出现了安全隐患。常用的注入手段有两种:一种是远程的dll的注入,另一种是远程代码的注入。后者相对起来更加隐蔽,也更难被杀软检测。本文具体实现这两种操作,在介绍相关API使用的同时,也会解决由此引发的一些问题。顾名思义,远程线程注入就是在非本地进程中创建一个新的线程。相比而言,本地创建线程的方法很简单,系统AP 阅读全文
posted @ 2012-08-30 19:27 Florian 阅读(17443) 评论(34) 推荐(21) 编辑
摘要: Windows字符集的统一与转换一、字符集的历史渊源在Windows编程时经常会遇到编码转换的问题,一直以来让刚接触的人摸不着头脑。其实只要弄清Win32程序使用的字符编码方式就清楚了,图1展示了一个Win32控制台项目的属性中的字符集选项。这里有两个不同的字符集:一个是Unicode字符集,另一个就是多字节字符集MBCS(Multi-ByteCharacterSystem),即熟知的ANSI字符集。图1 Visual Studio Win32项目属性或许有人和我一样对这么一群“凭空出现”的字符集既痛恨又好奇,痛恨的是为什么不使用统一的方式对字符编码,还要在程序中不断的转换。好奇的原因亦是如此 阅读全文
posted @ 2012-08-28 17:28 Florian 阅读(11058) 评论(0) 推荐(5) 编辑
摘要: Windows文件操作基础代码 Windows下对文件进行操作使用的一段基础代码File.h,首先是File类定义:#pragmaonce#include<Windows.h>#include<assert.h>classFile{HANDLEhFile;//文件句柄public:voidopen(LPCWSTRfileName);intread(char*data,intlen);voidmovefp(longdisp,inttype);intwrite(char*data,intlen);voidclose();staticvoidcopy(LPCWSTRsrc,L 阅读全文
posted @ 2012-07-31 18:31 Florian 阅读(1339) 评论(5) 推荐(0) 编辑
摘要: Windows注册表操作基础代码 Windows下对注册表进行操作使用的一段基础代码Reg.h:#pragmaonce#include<assert.h>#include<windows.h>classReg{HKEYhkey;public:voidopen(HKEYroot,char*subKey);//打开注册表键,不存在则创建voiddel(HKEYroot,char*subKey);//删除注册表键voidclose();//关闭注册表键voidsetValue(char*name,char*data);//设置注册表值,不存在则创建voidgetValue(c 阅读全文
posted @ 2012-07-31 16:10 Florian 阅读(2123) 评论(0) 推荐(0) 编辑
摘要: Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要的一段代码:#include<PCAP.H>#pragmacomment(lib,"wpcap.lib")//#pragmacomment(lib,"ws2_32.lib")#include<iostream>usingnamespacestd;//回调函数voidpacket_handler(u_char*param,conststructpcap_pkthdr*header,constu_char*pkt_data);intmain(){pcap_if_t 阅读全文
posted @ 2012-07-28 16:13 Florian 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 快速傅里叶变换C++递归算法实现 网上有些算法资料经测试运行结果是错误的,虽然代码的使用的是非递归形式。为了方便验证快速傅里叶变换的准确性,我提供了自己设计的递归算法。 基于时域抽取的“基2”快速傅里叶变换算法代码: Fouier.h文件:#pragmaonce#include"Complex.h"classFouier{Complex*data;voidfft(intstart,intstep,intlen);ComplexW(intk,intn);//e^(-i*2*pi*k/n)public:Fouier(void);~Fouier(void);voidfft();} 阅读全文
posted @ 2012-07-28 15:23 Florian 阅读(1684) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页