Effective C++ 学习之------宁以non-member,non-friend替换member函数

摘要: C++中资源是按照对象的方式来管理的。就拿我们正在使用的Browser来说,他管理各种各样的资源,其中包括cache,浏览记录,下载的历史记录,Cookies记录以及一些webapp的本地记录。我有个习惯就是会定期的清理一下这些资源。现在就来看看Effective C++中给的一些设计建议吧。我们可以不假思索的写出以下的类来:class WebBrowser {public: ...... void clearCache(); void clearHistory(); void clearCookies(); .....};恩,... 阅读全文
posted @ 2013-05-15 21:27 zkqian 阅读(826) 评论(2) 推荐(0)

Effective C++ 学习之-------确定对象被使用前被初始化

摘要: “确定对象的使用前被初始化“毫无疑问这和C++的构造函数有关,对内置类型来说在使用前确保被初始化的最好方式就是在定义一个变量的时候给他一个初始值。而对于自定义类型莫过于类的构造函数了,这相对与C来说的话优雅了很多。 其中将类的成员变量的列表初始化和函数体内初始化,在讲到一下版本的构造函数时个人觉得有点不妥ABEntry::ABEntry(const std::string& name, const std::string& address, const std::list<PhoneNumber>& phones){ t... 阅读全文
posted @ 2013-04-16 22:33 zkqian 阅读(707) 评论(1) 推荐(1)

Effective C++ 学习之-------尽量以const inline enum 代替#define

摘要: 记得在大学暑假的时候看过一遍<Effective C++>,由于当时对整个C++的认识比较的肤浅,很难能真正能体会到Effective中的每一点的含义,好像当时就像读小说一样给读过去了。最近重新开始了这本书的实践性学习,在这里记载一些重新读这本书的收获和一些新的认识。其中可能由于自己的认识不够深入,有错误理解的地方,还希望园中各位朋友多多指正。 其中的第一条就不在这里细写了,其中的关键就是分清楚C++是由那几部分组成的,并且明确你正在使用的是那一部分以及各个部分之间有什么联系。自己的目标是以后每周能够好好的细读其中的3-4个主题,而且将每一条的学习进行详细的整理。现在就从第二条开始 阅读全文
posted @ 2013-03-31 18:17 zkqian 阅读(287) 评论(0) 推荐(0)

C语言的学习---给我那个亲爱的弟弟

摘要: 这个学期弟弟在大学里开始了C语言的学习,经常会打电话过来讨论一些问题,一些过来人都会经历的问题,循环 函数 数组 指针。总结一些自己学习的一些学习心得,希望他能从中学习到一些东西。也以此作为在程序员这条路上的学习过程和经历的总结。1.我们学习程序设计是为了什么,以及程序是干什么的其实我们学习程序设计的目的很简单就是让它帮助我们做一些数据的处理,然后把处理的结果返回给我们。 我们给程序一个输入,然后在程序中对我们的数据进行处理后输出给我们相应的结果,我们就可以从这个图中开始学习C语言。首先针对输入开说吧,现在的计算机也没有达到能够完全理解人的思维的程度,所以我们... 阅读全文
posted @ 2012-12-16 14:46 zkqian 阅读(1243) 评论(6) 推荐(0)