当前位置: 首页 > news >正文

Effective C++学习笔记 chapter 1

const常量vs 宏定义

1.尽量使用常量const替换#define

2.为了将常量的作用域限制在类内,可以定义类的专属常量,而#define不能用来定义类的专属常量,无法提供任何封装性

3.enum hack技术

4.对应形似函数的宏,最好改用inline函数替换#define

 

赋值vs初始化

1. 类的对象(不是内置类型)的初始化早与该类构造函数被调用的时间

成员列表肤初值:如果成员变量是const或者reference,它们就一定需要初值,不能被赋值

条款:

C++成员初始化次序:基类更早于派生类,类的成员变量总是以其声明次序被初始化

C++对于不同编译单元内的non-local static对象的初始化相对次序并无明确的定义,解决方式是使用设计模式中的Singleton模式进行解决(局部静态对象来解决)

任何一个non-const static对象,不论是local还是non-local,在多线程环境下"等待某事发生"都会有麻烦

转载于:https://www.cnblogs.com/shirley-ict/p/5416746.html

相关文章:

  • ipmi对于统一硬件管理的意义
  • 微信JS-SDK应用DEMO
  • Javascript 页面刷新
  • unix编程艺术中的17点编程原则--设计开发者的至高准则
  • Intel系列CPU的流水线技术的发展
  • 实验二 作业调度模拟程序
  • Spring源码学习(二)------ AOP
  • 2,3,4,11章
  • 职场官话
  • 团队项目冲刺第五天
  • 用borland together反向工程生成sequence图的方法
  • C字符数组的处理
  • p2p终结者破解版下载 4.15 2011最新版
  • mysql简单操作(实时更新)
  • 更新-清理sga组件
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 30天自制操作系统-2
  • Effective Java 笔记(一)
  • java小心机(3)| 浅析finalize()
  • js对象的深浅拷贝
  • php中curl和soap方式请求服务超时问题
  • TypeScript迭代器
  • 安装python包到指定虚拟环境
  • 解决iview多表头动态更改列元素发生的错误
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 一个SAP顾问在美国的这些年
  • 如何用纯 CSS 创作一个货车 loader
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​插件化DPI在商用WIFI中的价值
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #在 README.md 中生成项目目录结构
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (2)MFC+openGL单文档框架glFrame
  • (9)STL算法之逆转旋转
  • (三)Honghu Cloud云架构一定时调度平台
  • (转)ORM
  • (转)Sublime Text3配置Lua运行环境
  • .bat批处理出现中文乱码的情况
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 6 redis操作类
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core跨平台微服务学习资源
  • .Net Web项目创建比较不错的参考文章
  • .net 使用ajax控件后如何调用前端脚本
  • .net6+aspose.words导出word并转pdf
  • .NET是什么
  • .sys文件乱码_python vscode输出乱码
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @Responsebody与@RequestBody
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [1204 寻找子串位置] 解题报告
  • [C#]C#学习笔记-CIL和动态程序集