ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Effective C++

2021-01-26 09:32:45  阅读:167  来源: 互联网

标签:函数 Effective C++ virtual 析构 copy 赋值


1.视 C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL)

2.宁可以编译器替换预处理器(尽量以 const、enum、inline 替换 #define)

3.尽可能使用 const

4.确定对象被使用前已先被初始化(构造时赋值(copy 构造函数)比 default 构造后赋值(copy assignment操作符(=))效率高)

5.了解 C++ 默默编写并调用哪些函数(编译器暗自为 class 创建 default 构造函数、copy 构造函数、copy assignment 操作符、析构函数)

6.若不想使用编译器自动生成的函数,就应该明确拒绝(将不想使用的成员函数声明为 private,并且不予实现)

7.为多态基类声明 virtual 析构函数(如果 class 带有任何 virtual 函数,它就应该拥有一个 virtual 析构函数)

8.别让异常逃离析构函数(析构函数应该吞下不传播异常,或者结束程序,而不是吐出异常;如果要处理异常应该在非析构的普通函数处理)

9.绝不在构造和析构过程中调用 virtual 函数(因为这类调用从不下降至 derived class,子类对象不存在。)

10.令 operator= 返回一个 reference to *this (用于连锁赋值)

11.在 operator= 中处理 “自我赋值”

12.赋值对象应确保复制 “对象内的所有成员变量” 及 “所有 base cl

标签:函数,Effective,C++,virtual,析构,copy,赋值
来源: https://blog.csdn.net/it_xiangqiang/article/details/113172879

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有