关闭

[置顶] 读书摘要-The practice of programming

The practice of programming    simplicity, clarity and generality form the bedrock of good software.Chp 1 Style    The purpose of style is to make the code easy to read for yourself and others,1.1 N...
阅读(3241) 评论(0)

读书摘要-The Art of Software Testing ,2rd Edition

Chp 2 The Psychology and Economics of  Program TestingThe Psychology of Testing    Testing is the process of executing a program with the intent of finding errors.    The most important considerations...
阅读(3089) 评论(0)

读书摘要-大话设计模式

第二章 策略模式        策略模式与简单工厂(Factory Method)的结合:    在基本的策略模式中,选择所使用的具体策略实现的职责由客户端用户承担,这并没有解除客户端需要选择判断的压力;将策略模式与简单工厂模式结合后(在 Context类中加入Factory Method的特性),选择具体实现的职责也由Context来承担,这样最大化的减轻了客户端的负担。第四章 开放封闭原则  ...
阅读(2510) 评论(0)

读书摘要-Why program fail(系统化调试指南)

Chp1 How Failure Comes to BeIn general, a failure comes about in the four stages discussed in the following.    1.The programmer creates a defect    2.The defect causes an infection.    3.The infectio...
阅读(2458) 评论(1)

读书摘要─Generic Programming and STL

    注:这本书的精华在于第一部分的前五章对于STL中各种抽象概念的阐述,后面的内容过于具体了,基本可以当做实现STL的specs了,不是很适合普通用户一、STL巡礼    STL提供了一种新的程序设计思维,其中算法和抽象条件居于中心地位。二、算法和区间    Concept & Model    要实现任何线性查找,必须要解决如下问题:        如何表示要执行查找的目标序列?    ...
阅读(2670) 评论(0)

读书摘要:大规模C++程序设计

引言    与主流观点相反,从根本上说,最普通形式的面向对象程序要比对应的面向过程的程序更难测试和校验。通过虚函数改变内部行为的能力可能导致类不变式无效;而对于程序的正确性来说,类不变式是必要的。第一部分 基础知识    对符号名称的使用,而不是声明本身,导致一个未定义符号被引入到.o目标文件中。    typedef声明是的性质属于"internal linkage",尽管这个说法不...
阅读(4951) 评论(0)

读书摘要-Efficient C++ performance programming techniques

Chp 1 The Tracing war story       当你的代码规模超过几千行后,tracing就变得很必要了。     当在一个很小却被频繁调用的函数中加入tracing 机制时,如果不注意的话,tracing可能会成数量级的降低系统的性能。     在C++程序中,不必要的对象构造和销毁,会带来非常大的开销。     那些适合inline调用的函数,往往不适合当作traci...
阅读(2619) 评论(0)

读书摘要--Inside The C++ Object Model

Chp 1 关于对象 1.1 C++对象模式     每个类对应的type_info对象,通常由Vtable的第一个slot指向。 1.2 关键字所带来的差异     如果不是为了努力维持与C的兼容性,C++远可以比现在更简单些。     C++标准保证,同一个access section中的数据成员,其内存布局同其声明次序保持一致。     组合,而非继承,才是将C和C+...
阅读(2501) 评论(0)

读书摘要-程序开发心理学

Chp 2 What makes a good program     There are indications from other situations that it is not the meanlength of estimated time that annoys people but, rather, the standarddeviation in the actu...
阅读(2415) 评论(0)

读书摘要:C++ Standard Library, The: A Tutorial and Reference

C++ Standard Library, The: A Tutorial and ReferenceChap 2 Introduction to C++ and the Standard Library2.1    history   string classes are designed as a safe and convenient component. Thus,they p...
阅读(3543) 评论(0)

C++拾遗

因为C++实在是过于复杂了,时不时都会碰见一些晦涩的细节,因此特意发个帖子,留好位置,随时添加Item 1    前置声明    当不需要class A的完整定义而只需要其名称时,可以通过前置声明函数来避免包含class A对应的头文件,这样可以减少编译依赖关系    然而,需要注意的是,string和iostream不是类型名,而是typedef;由于标准不允许向std空间增加声明或定义,所以这...
阅读(2854) 评论(1)

C++:The One-Definition Rule

(注:本文翻译自《C++ template:the complete guide》的Appendix A)Appendix A. The One-Definition Rule    被亲切的称为ODR的One-Define-Rule是构建良好的C++程序的基础。ODR常见的表现形式很容易理解和使用:对non-inlinefunction在所有文件中保证只存在一处定义;对于类和内联函数,在...
阅读(4921) 评论(4)

读书摘要:C++ Template:The Complete Guide

Chapter 1 About This Book1.4    对于模板编程中const的使用,推荐使用 int const 而不是 const int 的风格Chapter 2. Function Templates2.1.2 Using the Template   函数模板要经过两遍编译:      第一遍(without instantiation):检查syntax error,例如‘;...
阅读(3466) 评论(1)

容易被误解的inline

C++中的inline是个容易被误解的关键字,即使是专家也常会犯错。不信?请打开《Thinking in C++ 2rd Edition Volumn  1》,找到Chapter 9  "Inline Function"的Exercise 6:“Prove that inline functions default to internal linkage."为什么我说这里作者犯错了呢?因为C++ ...
阅读(3795) 评论(5)

几条C Puzzle Problem中的为什么

 发现了一个收集C puzzle的页面,挺有意思的,都看了一遍。除去那些常见的Marco、类型转换、printf格式符、指针和内存之类的常见puzzle外,我发现以下一个puzzle很是值得想一想。问题1The following program doesnt "seem" to print "hello-out". (Try executing it)  #include stdio....
阅读(2539) 评论(0)

How Non-Member Functions Improve Encapsulation ZZ

How Non-Member Functions Improve EncapsulationScott MeyersWhen it comes to encapsulation, sometimes less is more. Ill start with the punchline: If youre writing a function tha...
阅读(2670) 评论(0)

fopen:文本和二进制方式打开 ZZ

    在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串。其中,如果字符串中出现b,则表明是以打开二进制(binary)文件,否则是打开文本文件。  那么什么是文本文件,什么是二进制文件呢? 可能大多数人都没有仔细考虑过。   在Windows和DOS系统中,狭义的文本文件是指扩展名为txt的文件。实际上,那些没有规定格式的,由可理解的...
阅读(4633) 评论(0)

内核代码中和用户栈相关的几个片段

今天突然脑子里面几处知识点大串联,貌似是迸发出了些许思维的火花,以前一直感觉模模糊糊的有关用户栈的大小限制、栈是怎么自动扩展等问题,通过对照以前看过的内核代码的一些关键片段,似乎清晰了起来。机不可失,趁还没迷糊之前拿笔记下来。问题1    Linux下用户程序的默认栈大小是多少?如何查看,又如何更改默认值(上层指令和底层实现)?        在bash中输入“ulimit -s ",就可以查看用...
阅读(2739) 评论(0)

C语言混乱大赛1987年获奖作品

今天翻前两天刚送到的《C专家编程》,章节8.10的那个IOCCC 1987年的获奖作品让我觉得很好玩main(){ printf(&unix["/021%six/012/0"], (unix)["have"] + "fun" - 0x60);} 作者这里利用的第一个技巧并不算太晦涩: "a[i] = i[a]=  *(a+i)“ 即下标运算符的可交换性。但是这个老天爷的unix和...
阅读(3868) 评论(2)

由一个问题引发的思考

    记不请是那个大哥的blog了,名字好像叫做“用了10年,才知道C++才懂了一点“。俺觉得这话说的太实在了,正如TAOUP中4.2节所言:”C++ is anti-compact—the languages designer has admitted that he doesnt expect any one programmer to ever understand it all.“ ...
阅读(2271) 评论(0)
98条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:307964次
    • 积分:3938
    • 等级:
    • 排名:第8828名
    • 原创:81篇
    • 转载:10篇
    • 译文:7篇
    • 评论:67条
    文章分类
    最新评论
    不谈技术
    大牛的地盘