自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liziyun537的专栏

多年以后,我们的武器由小米加步枪变成了鼠标加键盘:D

  • 博客(75)
  • 资源 (8)
  • 收藏
  • 关注

原创 effective stl 读书笔记

1、函数声明中的函数参数:int f(double d);  等价于 int f(double (d));  等价于 int f(double);int g(double (*pf)());  等价于 int g(double pf());  等价于 int g(double ());

2010-12-31 22:40:00 455

转载 理解虚基类、虚函数与纯虚函数的概念

<br />引言<br /><br />     一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。不过不要紧待看完本文后你就会理解了。<br /><br />正文<br /><br />       虚基类<br />       在说明其作用前先看一段代码<br />class A<br />{<br />public:<br />

2010-12-30 11:04:00 512

转载 Windows SDK之文件API

<br />1. 文件API<br />1.1. 打开关闭文件<br />CreateFile<br />HANDLE CreateFile(<br />  LPCTSTR lpFileName, //指向文件名的指针<br />  DWORD dwDesiredAccess, //访问模式(写/读)<br />  DWORD dwShareMode, //共享模式<br />  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针<br />  D

2010-12-29 09:26:00 2529

转载 内存不够处理 -- 自己写new_handler(转:没考虑多线程问题)

<br />如果不满足内存分配请求时,不断重复调用new-handler函数<br />当前的new-handler可以利用set_new_handler安装新的new-handler取代它。/**/////////////////////////////////////////////////////////////<br />//<br />//FileName : lianxi.cpp<br />//Creator  : longshen<br />//Date : 2009-7-17<br />

2010-12-29 09:24:00 890

转载 君生我未生,我生君已老

<br />我是一个孤儿,也许是重男轻女的结果,也许是男欢女爱又不能负责的产物。<br />  是哲野把我拣回家的。   那年他落实政策自农村回城,在车站的垃圾堆边看见了我,一个漂亮的,安静的小女婴,许多人围着,他上前,那女婴对他璨然一笑。他给了我一个家,还给了我一个美丽的名字,陶夭。后来他说,我当初那一笑,称得起桃之夭夭,灼灼其华。   哲野的一生极其悲凄,他的父母都是归国的学者,却没有逃过那场文化浩劫,愤懑中双双弃世,哲野自然也不能幸免,发配农村,和相恋多年的女友劳燕分飞。他从此孑然一身

2010-12-28 17:05:00 711

转载 C++ Template 中的typename、class关键字

<br /> 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?<br />        相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为:       template<class T>......  <br />在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这个关键字

2010-12-28 11:20:00 511

转载 谈谈#pragma pack

<br />    这种东西非常无聊,平时用不到,但面试题中出现的概率还不算小,所以稍微总结一下吧。<br />    各个编译器对这个关键字的支持应该也有差异吧。<br /> <br />· 使用伪指令#pragma pack (n),C编译器将按照n个字节对齐。<br />     · 使用伪指令#pragma pack (),取消自定义字节对齐方式。<br />另外,还有如下的一种方式:<br />     · __attribute((aligned (n))),让所作用的结构成员对齐在n字

2010-12-27 15:12:00 425

转载 c++细节知识总结

<br />2、C++中子类的构造函数是否会自动调用基类构造函数?<br />答:会。如果在子类的构造函数中不显式指定调用基类构造函数,则将自动调用基类缺省构造函数,所以基类一定要有缺省构造函数。如果子类的构造函数除了调用基类构造函数以外什么都不做,不能不写,必须写一个空函数。<br /> <br />5、如何声明一个对象已经在文件外被定义?<br />答:使用extern来声明。可以在多个地方多次声明同一个对象,但是一个对象只能被定义一次,而且多个声明必须明确无误的指向这个定义实体。声明不分配内存

2010-12-27 14:59:00 461

转载 boost库编译命令

bjam stage --toolset=msvc-7.1--stagedir="G:/ChenVCLib/Lib/boost_1_43_0" link=shared runtime-link=shared threading=multi debug release<br /><br />bjam stage --toolset=msvc-7.1--stagedir="G:/ChenVCLib/Lib/boost_1_43_0" link=static runtime-link=static threa

2010-12-27 14:46:00 720

转载 趣味题系列:帽子戏法;警察抓逃犯问题 ;史密斯夫妇握手问题

6、题目: 现在有10个人被一个魔鬼逮住了。魔鬼对于直接把人杀掉的方法不感兴趣了。于是,他就想了一个杀人的新花样。是这样的,一天晚上,魔鬼向这十个人宣布了游戏规则­,即明早他要把他们10个人排成一排,然后从一堆既有无限多的白帽子混会着无限多的黑帽子的帽子堆里为每个人随机抽取一顶帽子,给他们10个人都戴上帽子。因为­10个人是排成一排的,所以排在第10个的人可以看到前面9个人帽子的颜色,排在第9个人可以看到前面8个人的帽子的颜色,...以此类推。然后,魔鬼会从排在­第10个人开始,问他,你头上的帽

2010-12-27 13:49:00 4444

原创 关于爱情

<br />    在春夏之交的一个午后,一个女孩坐在公园的长椅上,静静的看书。她身后是一小片浓绿的花树,枝头缓缓地垂落,宛如她额前的刘海。我静静地从她身边走过,那书的名字叫《红楼梦》。若干年后我还记得那棵花树上,那垂落下来的枝条点缀着几个含苞欲放的花蕾,而她的容颜,甚至于轮廓,都完全淡忘了。

2010-12-27 09:08:00 579

转载 C++0x的三个特性:右值引用,static_assert,auto

一、右值引用C++0x中引入了右值引用(rvalue reference)这个设施,形如T&&,用来实现移动语义(move semantics)和完美转发(perfect forwarding)。此前C++中有一个著名的性能问题——复制临时对象,由于右值引用的引入,该问题将得到极大的改善。虽然右值引用的引入是一个很了不起的进步,也是一个明智的决定,但它并不那么讨人喜欢,至少我觉得如此。原因有二:首先是其概念本身就不容易理解,增加了一些智力负担;另外如果想享受它带来的性能好处,还必须增加一些编码工

2010-12-26 21:41:00 689

转载 探索C++0x: 3. 右值引用(rvalue reference)(本文前段还行)

<br />转载请注明来源: http://blog.csdn.net/thesys/archive/2010/06/06/5651713.aspx<br />简介<br />C++0x中引入了右值引用(rvalue reference)这个设施,形如T&&,用来实现移动语义(move semantics)和完美转发(perfect forwarding)。此前C++中有一个著名的性能问题——复制临时对象,由于右值引用的引入,该问题将得到极大的改善。<br />虽然右值引用的引入是一个很了不起的

2010-12-26 21:13:00 575

转载 双城记

那是最美好的时代,那是最糟糕的时代;  那是智慧的年头,那是愚昧的年头;  那是信仰的时期,那是怀疑的时期;  那是光明的季节,那是黑暗的季节;  那是希望的春天,那是失望的冬天;  我们面前什么都有,我们面前什么都没有;  我们都在直奔天堂,我们都在直奔相反的方向。

2010-12-22 11:33:00 376

原创 计算一个整形数组里的连续元素和的最大值

<br />void max_sum(int *a, int len, int &low, int &high, int &max)<br />{<br />  int temp_max = 0;<br />  int temp_sum = 0;<br />  int i = 0;<br />  int temp_l =0, temp_h = 0;<br />  for (; i < len; i++)<br />  {<br />    if (a[i] < 0)<br /

2010-12-22 11:21:00 744

转载 求 a的b次方对c求余 的结果

<br />求 a的b次方对c求余 的结果,其中a b c都是非负整数<br />求 a的b次方 最简单的方法是<br />    s = 1;<br />    for( i=0; i!=b; ++i ) s*=a;<br />    return s;<br />这个算法效率太低,假如只能想到这个算法,出门别说自己是搞软件的^_^<br />考虑到 a^b = (a的平方)^(b的一半) 这个公式,可以写成<br />    if(b==0) return 1;<br /> 

2010-12-20 17:12:00 6921

转载 彼岸花(转西祠胡同)

<br />窗外的风,肆虐地卷走最后一片落片,回旋、飞舞,消失无踪……<br />  天凉了,心空了。漫天的寒流,将刺骨的冰冷随意挥洒,浸伤了心肺。耳边仍回响着你绝决的话,如一把利刃,将我分解的体无完肤。原来,自己存在的价值竟是如此渺小。<br />  我抱紧双臂,承受那种撕裂般的疼痛,不哭,不辩。当一切情绪皆被歪曲,当一切话题不再被信任,所有解说均成为一种苍白的无聊。除了默默承受,别无他法。<br />你说,为何我要爱得这么辛苦?这么痛?<br />  你还记不记得,那株长在黄泉路上的曼珠沙华?传说,那是

2010-12-17 16:23:00 682

转载 爱(张爱玲)

这是真的。<br /> 有个村庄的小康之家的女孩子,生得美,有许多人来做媒,但都没有说成。那年她<br />不过十五六岁吧,是春天的晚上,她立在后门口,手扶着桃树。她记得她穿的是一件月<br />白的衫子。对门住的年轻人同她见过面,可是从来没有打过招呼的,他走了过来。离得<br />不远,站定了,轻轻的说了一声:“噢,你也在这里吗?”她没有说什么,他也没有再<br />说什么,站了一会,各自走开了。<br /> 就这样就完了。<br /> 后来这女人被亲眷拐子卖

2010-12-17 15:19:00 443

转载 工作箴言系列(一)

<br />1.邮件格式:<br />  最好每25个字就进行换行,同时不同段落之间注意空行<br />2.工作习惯:<br />  每个决定的事项都不要仅仅在口头上传递,一定要发邮件<br />进行确认或通告,以便今后出现扯皮和说不清楚的时候,提供有利证据.<br />同事之间需要;<br />对领导需要;<br />对下属需要;<br />对客户也需要<br />3.与下属沟通的时候,要注意说话方式.<br />说服对方的时候,一定要以理服人.用严密的逻辑说服他.同时语词和语气要让对方感到舒服,尽量用商

2010-12-17 11:37:00 538

转载 离别的感受(转小百合)

<br />1.我以为小鸟飞不过沧海,是以为小鸟没有飞过沧海的勇气,十年以后我才发现,不是小<br />鸟飞不过去,而是沧海的那一头,早已没有了等待…… <br /><br />  2.你走的那天,我决定不掉泪,迎着风撑着眼帘用力不眨眼…… <br /><br />  3.多谢你的绝情,让我学会死心…… <br /><br />  4.带著一根烟.浪迹天涯…… <br /><br />  5.木头对火说:“抱我”!火拥抱了木头`木头微笑着化为灰烬!火哭了!泪水熄灭了自己<br />…

2010-12-17 11:29:00 1600

转载 关于会议

<br />工作中的会议包括<br />1.日常性质的:<br />晨会:   出席人:全体项目成员,项目经理<br />          特点:每天同一个时间段,同一个地点,没有网络,类似与XP编程中的立式晨会,或者是scrum里的每日总结会议<br />          时间:20分钟<br />         每个人都要发言: 昨天做了什么<br />                                今天要做什么<br />                             

2010-12-17 11:12:00 415

转载 复习C++中的几个不常用关键字

<br /> 今天听到一个朋友来TX面试,又问到了生僻的C++关键字,那个汗,记得我那个时候面试的时候也被问到过,特总结如下:<br />      bad_typeid<br />      很生僻,基本在几年的开发中没有用过,要理解bad_typeid这个关键字,首先得看下typeid这个关键字的使用,下面是一段英文描述:<br />The typeid operator will accept a pointer when dereferenced evaluates to a type:ty

2010-12-15 16:43:00 428

转载 (此文精辟)[汇编学习]献给汇编初学者-函数调用堆栈变化分析(转自黑客风云)

跟一个朋友谈堆栈的时候 就写下了这段文字,顺便发到这里给需要的看看吧汇编初学者比较头痛的一个问题////////////////////////////////////////////////////////////////////比如 我们有这样一个C函数 1#include 2long test(int a,int b) 3{ 4    a = a + 1; 5    b = b + 100; 6    return a + b; 7} 8void main() 9{  10

2010-12-14 20:59:00 691 1

转载 如何写好代码

代码规范,命名和排版遵守统一的规范没有拼错的单词在不同地方对类似意思的代码统一命名,如不会一个地方使用add,另一个地方使用insert采用一致的简写规则,不会有的地方简写,有的地方又不简写是否简单,不需要想什么就能明白代码含义对性能有要求,写出来的代码是否满足性能要求不需要镀金,是否客户需要的功能DRY: Don’t repeat yourself,没有重复代码写短方法,这样易读、易重用、易测试对类、方法和变量使用好的命名,最好直接从命名就能知道含义单一职责,每个类只做自己的事代码物理组织:目录、命名

2010-12-14 15:37:00 452

转载 如何卸载软件

<br />1、通过deb包安装的情况:<br />安装.deb包:代码:sudo dpkg -i package_file.deb<br /><br />反安装.deb包:代码:sudo dpkg -r package_name<br /><br /><br />2、通过apt-get安装的情况:<br />安装代码:sudo apt-get install package_name<br /><br />反安装代码:sudo apt-get remove package_name

2010-12-10 19:24:00 538

转载 使用CRT调试内存分配堆来找出未释放的内存空间

<br />忘记释放已经分配的内存是一种常见的编程错误,当然我指的是在C++编程当中,例如下面的代码里面就存在一个忘记释放内存的编程错误。我个人觉得忘记释放内存的编程错误是不可避免的,毕竟程序员都是人,困了,心情不好了,代码过于复杂啦等等都可能导致忘记加上一句delete XXX语句。<br />// 未释放内存空间.cpp : Defines the entry point for the console application.<br /> <br />#include"stdafx.h"<br />#

2010-12-10 18:30:00 486

转载 Visual Studio调试之断点基础篇

<br />有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序;知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序。在网上看到很多人介绍Windbg的用法,但是没有看到几篇讲解使用Visual Studio调试的文章。Windbg固然强大,但是问题是它的学习曲线太陡了,而且很多调试并不需要使用Windbg来调试(当然啦,并不是指我不会Windbg调试啦—这

2010-12-10 10:37:00 494

转载 Ubuntu 下安装 Code::Blocks

<br />在Linux环境下,就不同了。VisualStudio不用想了,地球人都知道是不可能的事。好用的只有Anjuta,KDevelop和Code::Blocks。本人偏爱Gnome,所以KDevelop排除。Anjuta很久很久以前用过,很好用,但是搭配的是GTK。要跨平台开发,非Code::Blocks+wxWidgets莫属。<br />安装步骤:<br />1.先把编译环境,C库、C++库和Boost库装好,如下:<br />sudo apt-get install libc6

2010-12-09 21:47:00 920

转载 binary和text方式打开文件的区别(转)

<br />这个我原来也遇见过,并处理过以binary和text方式打开文件的区别,当时是05年实现发送http数据包,一直有问题,后来截取数据对比发现的,但是当时没有记录,今天发现这篇文章对这里进行了总结,故收集下来<br /><br />发信人: LosComet (水母第3不厚道男), 信区: CProgramming<br />标   题: binary和text方式打开文件的区别<br />发信站: 水木社区 (Mon Apr   3 17:55:20 2006), 站内<br /><

2010-12-09 11:50:00 3996

转载 VC++ 简单TCP/IP客户端

<br />// socket_server.cpp : 定义控制台应用程序的入口点。<br />//<br /><br />#include "stdafx.h"<br />#include <windows.h><br />#include <winsock.h><br />#include <iostream><br />using namespace std;<br />#define NO_FLAGS_SET 0<br />#define PORT (u_short

2010-12-09 11:40:00 1557

转载 vc++ 简单阻塞式TCP/IP服务器

// socket_client.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #pragma comment(lib, "wsock32.lib")using namespace std;#define NO_FLAGS_SET 0#define PORT (u_

2010-12-09 11:39:00 1252

转载 STL vector 容器介绍 (转,讲得还是比较精辟的)

<br />介绍std::vector,并且讨论它在STL中的算法和条件函数remove_if()。<br /><br /><br />介绍<br />这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。<br /> <br />Vector总览<br />vector是C+

2010-12-08 10:59:00 514

转载 详细解说 STL 排序(Sort)

<br />作者Winter <br />出处:http://www.stlchina.org/twiki/bin/view.pl/Main/STLSortAlgorithms<br />0 前言: STL,为什么你必须掌握 <br />--------------------------------------------------------------------------------<br />对 于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都

2010-12-08 10:41:00 534

转载 【STL】各容器成员对比表

【STL】各容器成员对比表<br /> <br />Sequence containers<br />Associative containers<br /> <br />Headers<br /><vector><br /><deque><br /><list><br /><set><br /> <br /><bitset><br />Members<br />complex<br />vector<br />deque<br />list<br />set<br />multiset<br />map<

2010-12-08 09:23:00 512

转载 windows笔记-跨越进程边界共享内核对象【复制对象句柄】

<br />跨越进程边界共享内核对象有三种方法:对象句柄的继承性命名对象复制对象句柄<br /><br />复制对象句柄<br />共享跨越进程边界的内核对象的最后一个方法是使用BOOL DuplicateHandle(<br /> HANDLE hSourceProcessHandle,<br /> HANDLE hSourceHandle,<br /> HANDLE hTargetProcessHandle,<br /> PHANDLE phTargetHandle,

2010-12-08 09:20:00 447

转载 windows笔记-跨越进程边界共享内核对象【命名对象】

<br />跨越进程边界共享内核对象有三种方法:对象句柄的继承性命名对象复制对象句柄命名对象<br />共享跨越进程边界的内核对象的第二种方法是给对象命名,注意有些内核对象是不可以命名的,但多数内核对象可以命名。<br />下面的所有函数都可以创建命名的内核对象:HANDLE CreateMutex(<br /> PSLCURITY_ATTRIBUTES psa,<br /> BOOL bInitialOwner,<br /> PCTSTR pszName);<br /><b

2010-12-07 20:47:00 436

转载 windows笔记-跨越进程边界共享内核对象【对象句柄的继承性】

<br />都是一些概念性的东西,看得可能会有点烦,不过看了后面多线程和内存管理再回过头来看,会有不一样的感觉。<br /> <br />许多情况下,在不同进程中运行的线程需要共享内核对象。下面是为何需要共享的原因: <br />• 文件映射对象使你能够在同一台机器上运行的两个进程之间共享数据块。 <br />• 邮箱和指定的管道使得应用程序能够在连网的不同机器上运行的进程之间发送数据块。 <br />• 互斥对象、信标和事件使得不同进程中的线程能够同步它们的连续运行,这与一个应用程序在完成某项任务时需要将

2010-12-07 20:22:00 463

转载 windows笔记-Windows应用程序

<br />Windows支持两种类型的应用程序。<br />一是基于图形用户界面(GUI)的应用程序。(见:一个简单的windows GUI应用程序)<br />二是基于控制台用户界面(CUI)的应用程序。<br />用于CUI 应用程序的链接程序开关是/SUBSYSTEM:CONDOLE ,<br />用于G U I 应用程序的链接程序开关是/SUBSYSTEM : WINDOWS 。<br /> <br />当用户运行一个应用程序时,操作系统的加载程序就会查看可执行图形程序的标题,并抓取该子系

2010-12-07 17:21:00 425

转载 windows笔记-线程的一些性质

<br />调用CreateThread可使系统创建一个线程内核对象。该对象的初始使用计数是2(在线程停止运行和从CreateThread返回的句柄关闭之前,线程内核对象不会被撤消)。线程的内核对象的其他属性也被初始化,暂停计数被设置为1,退出代码始终为STILL_ACTIVE(0x103),该对象设置为未通知状态。<br /><br />一旦内核对象创建完成,系统就分配用于线程的堆栈的内存。该内存是从进程的地址空间分配而来的。然后系统将两个值写入新线程的堆栈的上端(线程堆栈总是从内存的高地址向

2010-12-07 16:42:00 408

原创 windows笔记-内核对象

<br />有哪些内核对象?<br />如下:存取符号对象、事件对象、文件对象、文件映射对象、I / O 完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计时器对象等。这些对象都是通过调用函数来创建的。<br /> <br />什么是内核对象?<br />内核对象只是内核分配的一个内存块,并且只能由该内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。有些数据成员(如安全性描述符、使用计数等)在所有对象类型中是相同的

2010-12-07 16:16:00 419

(免费)深入解析windows操作系统第四版电子书,课件,习题,工具集合

(免费)深入解析windows操作系统第四版电子书,课件,习题,工具集合

2012-08-21

(免费)深入解析windows操作系统第四版电子书

(免费)深入解析windows操作系统第四版电子书,课件,习题,工具集合

2012-08-21

windows核心编程电子书和源代码

windows核心编程电子书和源代码,pdf中文版的,chm英文版的,

2012-05-08

tcmalloc 安装包

These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

2012-04-17

tcmalloc 源代码工程

These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

2012-04-17

网络嗅探器源代码及文档

这是一个网络嗅探器源代码,可以利用winpcap进行数据包的抓取和分析,还可以进行数据包的重组,甚至还有文档,感兴趣的人可以学习一下的

2010-12-07

面试题库,包括中远公司--JAVA培训资料,java华为面试题等,很全

面试题库,包括中远公司--JAVA培训资料,java华为面试题,博大正方C语言试题等,很全

2009-12-24

空空如也

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

TA关注的人

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