
EffectiveC++
xiaolomg
学习无止境
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Item18笔记
Scott为了表明接口易用的准则,不费劳苦地把month,day都封装起来,其实用enum就可以很好地解决这个问题;另外要 使设计的类 与STL class有类似的行为,这点很好;另外 A* Create(); 写成 shared_prt Create()第一个写法的确存在很大风险,程序员必须很小心地保证资源被正确释放;第二个是很安全的,但同时也浪费了更多的内存。在实际工程原创 2012-10-21 20:07:07 · 845 阅读 · 0 评论 -
Item19笔记
在设计class的应该考虑的事情是:1.构造函数和析构函数;2.初始化和赋值会有什么行为;应该就是成员变量的初始化和赋值吧;3.定义新class的合法值,就是class内部的一些比如day,month之类的有效性处理;4.注意如果有父类,要小心copying函数的写法,如果希望被继承,那么析构函数写成虚函数;5.构造函数是否 运行隐式转换,如果不是,那么要explicit;或者原创 2012-10-21 21:51:16 · 893 阅读 · 0 评论 -
EffectiveC++ Item21
返回对象时,不能返回引用;其实在前几个item里就反复讲到operator的时候;Widget& operator=(int rhs){...return *this;}这里就返回了引用;但这个item里,作者又举出了反例;const Widget operator*(const Widget&,const Widget&)原创 2012-10-23 00:12:34 · 857 阅读 · 0 评论 -
Item20
1.在函数形参传递参数时,一般可以传递指针或者引用;这样可以减少copy构造函数;如果不希望对象被改变,那就传递cosnt A&a吧;里面讨论了对于内置类型,有人建议用传值,但作者却坚持用引用,利用是:将来这个东西可能会膨胀;嗯,是的,有道理。另外传值的时候,有对象切割的危险,其实就是子类转化为父类的时候,子类的东西有可能被切掉,不会再有所谓的多态性;谁让你不传引用或指针呢?作者在原创 2012-10-22 23:40:20 · 902 阅读 · 0 评论 -
依赖boost库的AysnLogging
今天花了一上午时间,写了个异步日志库,优点是:够简单,只有几个文件原创 2014-07-03 21:08:29 · 1002 阅读 · 0 评论