聚星亭

吾笨笨且懒散兮 急须改之而奋进
posts - 74, comments - 166, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

C/C++/STL/boost

基础很重要
     摘要: 当我们越来越多的使用C++的特性, 将越来越多的问题和事物抽象成对象时, 我们不难发现:很多对象都具有共性。 比如 数值可以增加、减少;字符串也可以增加减少。 它们的动作是相似的, 只是对象的类型不同而已。


C++ 提供了“模板”这一特性, 可以将“类型” 参数化, 使得编写的代码更具有通用性。 因此大家都称模板编程为 “通用编程”或 “泛型编程”。


一般而言, 模板分为 函数模板 和 类模板,下面就让我们分别来了解一下它们。
  阅读全文

posted @ 2010-07-22 02:31 besterChen 阅读(3511) | 评论 (7)  编辑 |

     摘要: 调试程序,我想这个是每个程序员都必修的课程。Google了好久,貌似GCC环境下调试用的是gdb,还有个叫ddd的,但是貌似都不是很好用,在VIM环境下,由于VIM立志于做个专一的编辑器,所以有可能我得敲命令来调试程序了(虽然有vim有dbg的插件,但是在linux下可用,win下需要借助一些模拟linux环境的软件,我不想借助这个)。习惯了VC调试器的我总觉得有点不自信。


现在还真的不知道该用什么调试好了,难不成用Ollydbg?貌似用Windbg也不错,编译的时候生成.pdb文件,然后用Windbg进行源码调试,貌似这个是最佳的解决方案了吧。


我想先试试dbg这个命令行调试器怎么样,然后来补全这个文章。现在先发出来占位,如果哪个朋友有更好的方法,希望能告知我。O(∩_∩)O谢谢。


现在我先把重点放到exVim的使用上面。
  阅读全文

posted @ 2010-06-01 03:21 besterChen 阅读(1529) | 评论 (2)  编辑 |

     摘要: 在上一小节中,我们大概的介绍了下如何创建工程以及简要的提了下工程相关的几个命令。相信很多朋友已经对ExVim上手了,为了照顾像我一样对linux和VIM一无所知的朋友,我将在这里讲述工程的编译方法(现在正在学Makefile的写法)。

我觉得,Makefile虽然可以有好多工具可以生成,但是懂得Makefile的语法,自己能够手工书写并优化Makefile的代码是应该掌握的一种能力。

掌握了基本的Makefile的书写以后,再掌握以下CMake的用法……

现在先把文章发到这里占位,等我学会了,有一定心得了再过来补全。  阅读全文

posted @ 2010-06-01 03:20 besterChen 阅读(1298) | 评论 (0)  编辑 |

     摘要: 当我们进一步研究类与对象的时候,难免的就要考虑到类本身的一些特点以及类与其它类之间的关系。在本专题开始之前,我们已经接触到像一个类对象作为另一个类成员的嵌套关系了。本专题,我们就专心的研究一下类与类之间的继承关系和其类本身的特点。



我们知道,类与对象的概念是来自于对现实事物的模拟,就像孩子用于其父母的一些特征,不论是木桌还是石桌都有桌子的特点。同样,类与类之间自然的也应该拥有这些特点的。而拥有这些特点就使得我们代码更加结构化,条理化,最大的好处则是:简化我们的代码,提高代码的重用性。



好,不多废话,先让我们看看,这个专题大概要讲些什么:

1、 体验类的静态多态性之重载

2、 构建类与类之间的父子关系及其访问限制

3、 体验类的动态多态性之虚函数

4、 浅析类的多继承

5、 学习小结
  阅读全文

posted @ 2010-05-20 22:13 besterChen 阅读(3664) | 评论 (4)  编辑 |

     摘要: 题目要求:
纯C 、不准使用汇编,不准使用临时变量(当然包括全局变量)实现一个strlen 函数。
就是说,可以利用的资源只有那个参数,但是有个要求就是不许破坏原字符串。

我能想到的方法就是递归,所以我给出的答案是:  阅读全文

posted @ 2010-04-23 23:45 besterChen 阅读(2678) | 评论 (24)  编辑 |

     摘要: 是啊,不可避免的,我们要学习指针了。关于指针的概念,我们已经在第一章节 理解程序中的数据 课题中大概的介绍过了,我想它并不是一个很难的概念,如果对指针没有任何一点概念的朋友可以试着百度一下,再看一下我们以前的章节。

之所以把指针放到现在来讲,一方面是因为,到现在我们所学的知识,可以允许我把一个完整的指针及其相关的知识展现给大家而不需将一个知识点打乱到各个别的章节中;再一方面就是我们接下来的要学习的继承、多态等特性刚好需要这方面的的知识,省的我们再回头复习,当然,主要原因还是我没有信心能将这个专题写好。

是的,我们在管理内存,管理一些数据结构等等,很多情况都要使用指针,我们这个专题,就专门来讨论下指针的问题。

让我们再来回顾下,指针的一些概念。
  阅读全文

posted @ 2010-03-21 21:35 besterChen 阅读(3025) | 评论 (5)  编辑 |

     摘要: C++的阶段,我想根据C++的一些特有的特性分别写一些专题,每个专题我都捎带讲一些语法,当然不会很多,我还是会像C语言那样,内存结构贯穿始终,有汇编就有真相……

本专题,我们讲述封装性。封装性是C++的入门特性,要想学习C++语言,封装性是首先要掌握的。下面我们进入正题:
  阅读全文

posted @ 2010-03-12 03:44 besterChen 阅读(2788) | 评论 (1)  编辑 |

     摘要: 在函数调用的时候,无论是参数为对象还是返回一个对象,都将产生一个临时对象。这个笔记就是为了学习这个临时对象的产生过程而写。

本代码的详细例子见实例代码Ex.01



Ok,先让我们定义一个类
  阅读全文

posted @ 2010-02-09 21:17 besterChen 阅读(1138) | 评论 (0)  编辑 |

     摘要:
本来这一讲是打算讲指针的,可是考虑到C++中指针的更多操作,我不想讲一个问题分成两部分,因此,我就先讲C++的部分,等需要用到指针的时候,我们专门写一个专题讲述指针部分。 好进入正题。



大家都知道,C++是在C的基础上扩展了好多东西,其中好多是思想上的转变,因此,很多C++中的东西,我们都可以用C语言来模拟出来,比如构造、析构等等。 但是也有很多是C++编译器扩展的东西,我们没有办法用C去模拟,因此,我写了这个小节,重在理解……
  阅读全文

posted @ 2010-02-08 06:31 besterChen 阅读(914) | 评论 (2)  编辑 |

     摘要: 以前总是对Static声明的变量(函数),感到困惑,因为课本中写的也比较模糊,弄的经常搞不懂啥时候该用静态变量。

课堂上,钱老师对这个问题做了比较透彻的讲解,对这个问题相关的知识点总结如下:
  阅读全文

posted @ 2009-12-27 21:12 besterChen 阅读(666) | 评论 (0)  编辑 |

     摘要: 到今天,函数学完了,数据也讲到多维数组了,老师让利用学到的东西,写一个走迷宫的程序。
在这里记录一下:
我要走的迷宫图如下:  阅读全文

posted @ 2009-12-10 22:05 besterChen 阅读(1429) | 评论 (3)  编辑 |

     摘要: 来科锐上了4次课了,今天讲了分支结构,钱老师详细的讲解了switch工作流程的几种情况,由于我们都是新学员,还没有开始学习汇编课程,因此没有做详细的分析。



今天这堂课给我感触挺大的: 本来以为自己用OD调试过switch结构,以为对它十分理解了。结果按照钱老师讲的,自己再次调试了一下switch,结果发现我以前是多么的不求甚解。 ╮(╯▽╰)╭~



记录这个笔记,算是给自己一个警示吧,以后学习的时候,不能浮躁……
  阅读全文

posted @ 2009-12-07 00:26 besterChen 阅读(2258) | 评论 (1)  编辑 |

     摘要: 正则表达式30分钟入门教程
版本:v2.3 (2008-4-13) 作者:deerchao 转载请注明来源
  阅读全文

posted @ 2009-04-11 20:38 besterChen 阅读(397) | 评论 (0)  编辑 |

     摘要: [声明] 本文转载于VC知识库:http://www.vckbase.com/document/viewdoc/?id=1656

  一日心血来潮,想给启动画面来个淡入淡出,于是去谷歌(google)查了半天,无果。-_-b,但知道了AnimiateWindow 这个函数。好吧 ,让我们开始吧^^。首先,请在需要淡入淡出窗口的cpp文件或者stdafx.h加入下列代码(注意要加在#include前面哦,否则没有作用哦)。
#undef WINVER //取消原有版本定义,重新定义版本#define WINVER 0x5000 //为了使AnimateWindow函数可用#include
然后在相关文件分别加入OnCreate,OnClose,OnEraseBkgnd和OnTimer消息函数。记得在相关构析函数内加入 :  阅读全文

posted @ 2009-04-03 18:47 besterChen 阅读(472) | 评论 (0)  编辑 |

     摘要: 原帖:http://hi.baidu.com/ciw%5Fblue/blog/item/527fef260882db108b82a139.html

1.改进了 Invoke函数 现在可以支持全局字符串 但是在第3个参数必须指定类型 和 printf中的%s,%d相似 s或S为字符串

2.动态获取Kernel32.dll,LoadLibrary,GetProcAddress地址

3.被感染的文件可以再感染  阅读全文

posted @ 2009-03-30 17:25 besterChen 阅读(677) | 评论 (0)  编辑 |

     摘要: 以下内容引用与 Pediy.com
1.Jmp stub Function
考虑以下函数:
Void Test(){}
Void main()
{ test();}
在debug情况下,编译后
Void Jmp_Test()
{
Jmp to Real_test();
}
Void main()
{jmp_test()}
如何让编译器不产生Jmp Stub function。
解决方法,在Link选项中去掉Increment link.  阅读全文

posted @ 2009-03-30 17:09 besterChen 阅读(465) | 评论 (0)  编辑 |

     摘要: 比赛的地址是:http://www.ghoffice.com/bbs/read-htm-fid-97-tid-63475.html

很简单的题目,可是要求是:要不你精简,要不你奇特,我看到这个比赛题目的时候,没有办法,人家已经把我知道的精简式的代码几乎贴完了,那我也就只能来个奇特的了,用shellcode实现,代码如下:  阅读全文

posted @ 2009-03-25 18:07 besterChen 阅读(2662) | 评论 (3)  编辑 |