自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xeranic 在想什么?

——绝不因为懒惰或者保守而拒绝接受新事物

  • 博客(28)
  • 收藏
  • 关注

原创 面向对象的MVC模式

先来看一个传统的MVC模式:class FooModel {public:    int getNumber() {return m_number;}    void setNumber(int m) {m_number = m; m_view->numberChanged();}    FooView *getView() {return m_view;}    void setView(Foo

2006-10-10 14:00:00 1481

原创 Transparency 技术总结

I. Define    Sc      source color component    Sa      source alpha component    Sca     source color premultiplied alpha component     Dc      destination color component    Da      destination alpha

2006-10-03 22:29:00 990

原创 Color Convert 技术总结

I. Channel:1. Device to Device (Without Default) :    Direct Convert   eg. RGB to Gray   eg. RGB to CMYK (use UCR and BG which be specified in GState).   eg. Gray to RGB   eg. Gray to CMYK   eg. CMYK

2006-10-03 22:27:00 1443

原创 图像选区的生成方法

图像选区的生成方法:1. 将目标图像转换成二值图。2. 遍历二值图中的每一个点。3. 从这个点开始记录轮廓,直到返回起始点。4. 将二值图中的此轮廓范围反转。5. 继续遍历。6. 整理记录的轮廓。重叠的部分剪去,与目标点不重叠的去除。 

2006-10-03 22:19:00 1156

原创 问题是什么?

老牛总是说考虑xx问题的时候不应该考虑xx问题,这是什么意思呢?我的理解是:不应该盲目的思考如何解决问题,而应该把重点首先放在“问题是什么”上。重点是对问题的分析,当对问题有足够的了解时,解决方案就是显而易见的。看看温伯格的“你的灯亮着么?”、“程序设计心理学”、“系统化思维导论”。 

2006-10-03 22:16:00 759

原创 按合约设计与依赖巧合编程

任何程序库都有自己的一套使用方法,你只有严格遵守程序库设计者定义的规范下,才能‘随意’的使用他。比如在STL中,除了Vector之外的大多数容器的Iterator都不能被存储,因为针对容器的很多操作都会导致Iterator失效,只有在每次使用Iterator时都从容器中重新获得才可以保证安全,否则“行为未定义”。(当然Iterator的使用也不至于如此死板,但这样的使用一定是最简单最合法的,如果法

2006-10-03 22:14:00 1141

原创 Scott Meyers 5x5 Articles

Scott Meyer 最近在发表的一系列关于C++总结性质的文章。 5 for 5. My Most Important C++ Aha! Moments...Ever In this article, Scott Meyers shares his picks for the five most meaningful Aha! moments in his

2006-09-22 22:08:00 799

原创 希腊字母表

希腊字母表:α.Α.alpha       β.Β.beta       γ.Γ.gamma       δ.Δ.deltaε.Ε.epsilon     ζ.Ζ.zeta       η.Η.eta         θ.Θ.thetaι.Ι.iota        κ.Κ.kappa      λ.Λ.lambda      μ.Μ.muν.Ν.nu          ξ.Ξ.xi     

2006-06-14 12:58:00 1190

原创 GNU Compile Tools, 可执行文件, 静态链接库, 动态链接库

Compile Process对于一个编译型语言,编译器工作时总要经过预处理、编译、链接等几个过程。以 C/C++ 为例:预处理器(cpp)将每个 .c/.cpp 文件中 #include 的头文件都合并到 .c/.cpp 文件中,并且对其进行宏扩展,由此生成数个编译单元。一般来说每个 .c/.cpp 文件对应一个编译单元。随后,编译器(cc)将每个编译单元翻译成本地二进制代码,在 GNU/Lin

2006-06-01 16:52:00 1718

原创 上下文无关文法

上下文无关文法(context-free gammar):指文法的前后(上下)没有关系,如文法:_statement ::= _name is _names friend.是上下文无关文法,因为文中出现的两个 name 可以不同(也可以相同,假设自己可以是自己的朋友)。而文法:_statement ::= _name{0} likes _name{1}, and _name{1} likes _

2006-05-11 22:45:00 1757

原创 LISP 就是语法解析树的前缀表达

LISP 就是语法解析树的前缀表达,有趣的说法,哈哈。有空看看这本书:How to Design Programs

2006-04-04 01:22:00 1249

原创 STL Deque 总结

对于 deque 这个东西在初学 STL 的时候好像有看过,可能是因为其特性不足够吸引人吧,尽然被忽略了。前两天在看 Effective STL 的时候才发现这个东东还是蛮有用的,就此总结一下:首先 deque 读作 deck ,中译双端队列。即为双端,其内部必然有两个队列,如果将队列看作是 STL 中的 vector,则 deque 可以看成是如下结构:template class dequ

2006-04-04 00:56:00 1842

原创 Effective STL 读书笔记 9

Item 43:用算法调用代替手写循环。 原因:STL 中的算法通常比手写循环更高效,手写循环容易出错,STL 算法更加清晰。 原则:如果需求和 STL 中的算法相同/类似,而且调用算法非常清晰,则调用算法。如果需要的仅仅是简单的循环,而且使用算法需要引入多个 binders 或 adapters,则手写循环。如果需要在循环中作复杂操作,将操作封装在函数对象中,然后调用算法

2006-04-01 14:22:00 1046

原创 Effective STL 读书笔记 8

Item 38:为满足按值传递设计函数类(functor class)。 我们习惯上:将 functor 称作函数对象,而不是仿函数;将 functor class 称作函数类,而不是其他。 一些 STL 的实现中的一些算法并不允许将函数对象(算法中的谓词)按引用传递,而且这样的编程风格也并不常见。所以,算法中的函数对象会按值传递,即在算法中被复制。 copy 导

2006-03-29 02:31:00 1357

原创 Effective STL 读书笔记 7

Item 35:使用 mismatch 或者 lexicographical_compare 实现简单的忽略大小写的字符串比较函数。 mismatch 实现:int ci_compare (const string &s1, const string &s2) {    if (s1.size()        return ci_compare_impl(s1, s2);

2006-03-27 00:45:00 890

原创 Effective STL 读书笔记 6

Item 30:在应用算法时,确定目标范围(destination ranges)足够大。 首先以下代码是错误的,transform 将对 dest.end() 开始的 N 个元素调用赋值操作,但这些元素并不存在:transform(src.begin(), src.end(),           dest.end(),           transmogrify);

2006-03-26 02:28:00 1056

原创 Effective STL 读书笔记 5

Item 26:优先使用 iterator 而不是 const_iterator, reverse_iterator, const_reverse_iterator。 STL 的许多算法要求输入迭代器类型为 iterator 而不是其他几种。 迭代器可以进行如下转换: 由上可以看出 const_iterator 无法转换成 iterator,而且 re

2006-03-25 01:29:00 978

原创 Effective STL 读书笔记 4

Item 19:区分等价(equivalence)和相等(equality)。 现看看英汉字典对等价(equivalence)的定义:一种逻辑操作符,具有下述性质:若P是一个命题,Q是一个命题,R是一个命题,当且仅当 所有的命题为真或所有的命题为假时,P,Q,R,...的等价才为真。 在 STL 中有两种比较对象是否相等的方法,方法一,相等(equality):

2006-03-24 01:45:00 1092

原创 Effective STL 读书笔记 3

Item 13:用 vector 和 string 替代动态分配的数组。 大多数的 STL 实现中 string 用到了引用计数,避免引用计数的方法是用 vector 替代。 Item 14:使用 reserve 避免不必要的内存重分配。Item 15:注意 string 的多种实现方法。 作者从 sizeof(string)

2006-03-21 23:43:00 907

原创 Effective STL 读书笔记 2

Item 10:注意 allocator 的惯例和限制。 Allocator 最初是为了对在16位系统上的 near 和 far 指针内存访问模式进行抽象而加入的(虽然这个尝试失败了),之后 Allocator 被设计成为标准库提供全攻能的内存管理模块。但由于效率问题,标准委员会弱化了 Allocator 的功能。甚至打多数的 container 根本就不使用 allocator,也

2006-03-21 22:25:00 841

原创 Exploring the C++ Unit Testing Framework Jungle

Exploring the C++ Unit Testing Framework Jungle 一篇对各种 C++ Unit Test 工具进行评测/选择的文章。作者:Noel Llopis 时间:28 December 2004其中评测了包括:CppUnit、Boost.Test、CppUnitLite、NanoCppUnit、Unit++、CxxTest。但是没有包括 Google 排名第一的

2006-03-09 23:00:00 963

原创 Effective STL 读书笔记 1

读技术书籍是一件开心的事情,但从来没有哪本书像 Effective 这样让我这么开心。Effective C++ 如是,More Effective C++ 如是,Effective STL 亦如是。没有哪位作者比 Scott Meyers 更懂得轻松与严肃的学习了。以下只列举被我“忽略”和“几乎忽略”的东东。Item 1: Choose your container with care.

2006-03-05 21:59:00 957

原创 Windows fat32/ntfs 与 Linux ext2/ext3 互访问

重装 Windows 系统之后,有一大堆的软件需要重新安装&配置,总结一下,正好当作 Blog 的好题材。等 Fedora Core 5 出正式版后,又有一大堆 Linux 的设置需要总结。工作中经常需要在 Windows 和 Linux 两个系统里飞来飞去,所以需要互相访问对方的文件系统。我指的是在 Linux 中访问 Windows 的 fat32/ntfs 分区,及在 Windows 中访问

2006-03-01 18:59:00 3183

原创 恢复 Grub 引导

一般安装 Windows 和 Linux 双系统时都是先安装 Windows 再安装 Linux,然后利用 Linux 自带的多操作系统引导工具来制作引导菜单。以 Fedora 为例,安装时会有 Grub 的设置只要一直 next 就可以配置好(至少是能用的)。但如果在使用中我们重新安装了 Windows 或重写了 MBR(如果你的 BootLoader 安装在 MBR 上),那么就会导致多启动引

2006-02-28 21:26:00 1627

原创 随便读读:Windows 游戏编程大师技巧 (第二版) 关于BOB

BOB (Blitter Object) 游戏引擎中的重要对象,代表由一系列动画组成的一个屏幕元素。让人想到图元……BOB 的基本属性: Position Size State : visible or invisible Images or ImageFrames Animations Animation Speed cu

2006-02-22 00:28:00 1156

原创 Mind map 在 Wikipedia 的定义

好不容易找到了 Mind map 在 Wikipedia 的定义,现在看来 Mind map 会成为我工作中的一个重要助手,从上周针对 PDF Form and Pattern Render 的 Mind 就可以看出一点端倪。Mind mapFrom Wikipedia, the free encyclopedia(Redirected from Mind mapping)

2006-02-18 23:04:00 3874

原创 数据的格式选择,和同源数据

数据的格式选择,和同源数据。如果我们正在设计一个游戏系统,其中两个重要的部分 Sprite & Game,Game 负责整体逻辑,为了刷新每个 Sprite 的状态(位置,速度,加速度),Game 向 Sprite 发送 tick message。// examples 1public class Game {    private long lastTime;    private List s

2006-02-16 21:20:00 2280

原创 初识mind-mapping

sf.net 的本月最佳工程是 FreeMind,这是我接触的第二个“Mind“类型的软件,第一个是 MindManager,是回家过年的时候《软件》杂志CD赠送的(还附带了Keygen!),当时只是了解了一下没太在意。 今天在公司写PDF Pattern的时候,随手在纸上画草图,偶然发现与 MindManager 的样图有相似处(主要是内容的组织方面)。可惜那个东东只能在 Windows 上用,

2006-02-13 22:18:00 1956

空空如也

空空如也

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

TA关注的人

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