C++编程规范之32:弄清楚要编写的是哪种类
来源:互联网 发布:python 标准输入 编辑:程序博客网 时间:2024/04/24 11:23
摘要:
了解自我:有很多种不同的类。弄清楚要编写的是哪一种。
不同种类的类适用于不同用途,因此遵循着不同的规则。值类模仿的是内置类型。一个值类应该:
1.有一个公用析构函数、复制构造函数和带有值语义的赋值。
2.没有虚拟函数(包括析构函数)。
3.是用作具体类,而不是基类。
4.总是在栈中实例化,或者作为另一个类直接包含的成员实例化。
基类是类层次结构的构成要素。一个基类应该:
1.有一个公用而且虚拟,或者保护而且非虚拟的析构函数,和一个非公用复制构造函数和复制操作符。
2.通过虚拟函数建立接口。
3.总是动态地在堆中实例化为具体派生类对象,并通过一个智能指针来使用。
不严格地来说,traits类是携带有关类型信息的模版。一个traits类应该:
1.只包含typedef和静态函数,没有可修改的状态或者虚拟函数。
2.通常不独立实例化,只作为基类或者成员。
异常类提供了不寻常的值与引用语义的混合:它们通过值抛出,但应该通过引用捕获。一个异常类应该:
1.有一个公用析构函数和不会失败的构造函数。
2.有虚拟函数,经常实现克隆和访问。
3.从std::exception虚拟派生更好。
1 0
- C++编程规范之32:弄清楚要编写的是哪种类
- Java编程规范之程序编写规范
- 【编程之旅】关于代码编写规范的那些事儿
- 哪些是应该熟记的,哪些是可以查手册的,这个要弄清楚
- c语言练习之规范编写
- C语言编写规范之注释
- JAVA编程规范大全之程序编写规范
- C语言的模块编写规范
- C语言总结之变量的种类
- c/c++的编程规范
- C++编程规范之31:不要编写依赖于函数参数求值顺序的代码
- c函数编写规范
- c函数编写规范
- C语言编写规范
- 【C#】程序编写规范
- 出错,是因为你有很多的细节还没有弄清楚......
- 是时候弄清楚getExternalStorageDirectory()和getExternalFilesDir()的区别了
- 是时候弄清楚getExternalStorageDirectory()和getExternalFilesDir()的区别了
- axlsx报表工具(一)——安装及入门
- WeChat Official Account Admin Platform API Introduction
- 微信支付可能改变的六大行业
- 易信公众平台的微创新:活动消息
- 微信公众平台开发(62)股票行情及分析
- C++编程规范之32:弄清楚要编写的是哪种类
- 七牛云存储官方接口PHP版本
- 微信5.0绑定银行卡教程
- 从陈坤微信号说起:微信公众平台开发者的江湖
- 微信商业化解读
- 微信公众平台开发(63)汽车查询
- 微信公众平台开发(64)航班动态
- 张小龙的微信帝国诞生记
- 微信公众平台开发(65) 微博树洞