《Effective C++》条款50~59
条款54:让自己熟悉包括TR1在内的标准程序库
TR1指的是Technical Report 1,是C++程序库工作小组对该份文档的称呼。
主要说明了C++标准程序库的各个成分:STL、Iostream、国际化支持(wchar_t、wstring)、数值处理、异常阶层体系。C89标准程序库。
条款54则就命名空间tr1内的部分新组件的使用进行了详尽的介绍。
智能指针(smart pointers):嵌套在tr1命名空间内,TR1组件shared_ptr的全名是std::tr1::shared_ptr,使用时std::shared_ptr即可.
tr1::shared_ptr和 tr1::weak_ptr。前者的作用有如内置指针,但会记录有多少个tr1::shared_ptrs共同指向同一个对象。这便是所谓的reference couming(引用计数)。一旦最后一个这样的指针被销毁,也就是一旦某对象的引用次数变成 0,这个对象会被自动删除。这在非环形(acyclic)数据结构中防止资源泄漏很有帮助,但如果两个或多个对象内含tr1::shared_ptrs并形成环状(cycle) ...
《Effective C++》
《Effective C++》我不知道我是否能快速把这本书读完,但我一定尽快,并整理自己的感悟!
有人说C+ +程序员可以分成两类,读过Effective C+ +的和没读过的。世界顶级C+ +大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过这本书之后,就获得了迅速提升自己C++功力的一个契机。
在国际上.本书所引起的反响,波及整个计算技术出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。这本书不是读完一遍就可以束之 高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美风光,做-一个成功而快乐的C++程序员。
——引言
《Effective C++》中的一些命名习惯
命名习惯在阅读这本开始之际,作者就一些命名习惯(不是命名空间哦)做了详细阐述,以方便我们平时阅读过程以及开发过程中如何命名变量名,甚觉对个人编程上一些基础的东西有极大的帮助,整理如下:
用途
含义
变量名
二元操作符
左手端(left-hand side)
lhs
二元操作符
右手短(right-hand side)
rhs
指向一个T型对象
pointer to T
pt
指向一个Widget的指针
ptr to Wodget
pw
指向一个airplane的指针
ptr to Airplane
pa
指向一个GameCharacter的指针
ptr to GameCharacter
pgc
对于引用(reference),则习惯以r*的形式命名。例如reference to widget,变量名为rw,ra则是reference to Airplane。
而对于成员函数,则可以以mf为名。
《Effective C++》条款20~21
条款20:宁以pass-by-reference-to-const替换pass-by-value
条款21:必须返回对象时,别往相反其reference
pass-by-value和pass-by-reference
20、21章 讲了函数传参过程引用传值和值传递应该以什么样的形式去处理。从函数的入口和出口两个方面讲了