Effective C++(四)

本文详细介绍了C++编程中需遵循的29条关键准则,旨在避免常见错误、提高代码质量和可维护性。从指针和数字类型重载到全局命名空间划分,涵盖了多个层面的代码编写技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条款25:避免对指针和数字类型重载

因为0既可以是一个整型值,也可以是空指针。


条款26:当心潜在的二义性

二义性当然要避免,本条款强调的是“潜在”二字。很多时候,二义性会隐藏得很深,所以要尽可能地小心。


条款27:如果不想使用隐式生成的函数就要显示地禁止它

有些函数,当你没有声明定义它们时,编译器会自动为你生成,但它们是基于默认语义的,所以如果这不是你想要的,就需要显示地禁止它们。


条款28:划分全局名字空间

避免名字冲突,从而带来一些益处。


条款29:避免返回内部数据的句柄

这样可以尽量保证对象的封装性,避免悬浮句柄等问题。


条款30:避免这样的成员函数:其返回值是指向成员的非const指针或引用,但成员的访问级比这个函数要低

否则会破坏封装性


条款31:千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用

前者会造成野指针(引用)问题,后者会造成内存泄露。


条款32:尽可能地推迟变量的定义

”推迟变量定义可以提高程序的效率,增强程序的条理性,还可以减少对变量含义的注释。“

有人说c++程序员可以分成两类,读过effective c++的和没读过的。世界顶级c++大师scott meyers成名之作的第三版的确当得起这样的评价。当您读过这本书之后,就获得了迅速提升自己c++功力的一个契机。.(2-1)   在国际上,本书所引起的反响,波及整个计算技术出版领域,余音至今未绝。几乎在所有c++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角。诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推祟。《effective c++》前两个版本的确抓住了全世界无数程序员的目光。原因十分显明:scott meyers 极富实践意义的c++ 研讨方式,描述出专家用以产出干净、正确、高效代码的经验法则和行事法则——也就是他们几乎总是做或不做的某些事。   这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,c++是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书自瞄帮助您跨越c抖的重重险阻,领略高处才有的壮美风光,做—个成功而快乐的c++程序员。...      本书一共组织 55 个准则,每一条准则描述一个编写出更好的 c++ 的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。      《effective c++》的重要特征包括:    * 高效的 classes、functions、templates 和inheritance hierarchies(继承体系)方面的专家级指导。    * 崭新的 "tr1" 标准程序库功能应用,以及与既有标准程序库组件的比较。    * 洞察 c++和其他语言(例如java、c#、c)之间的不同。此举有助于那些来自其他语言阵营的开发人员消化吸收 c++ 式的各种解法。(2-1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值