利用“member initialization list”初始化类成员
来源:互联网 发布:poker适合编程吗 编辑:程序博客网 时间:2024/06/10 20:15
原因
成员变量的初始化工作在进入构造函数之前;
举例
// 错误做法class ABEntry{public: ABEntry(const std::string& name){ name_ = name;//这里是赋值操作,name_在进入构造函数之前就被初始化 }private: std::string name_; }// 正确做法class ABEntry{public: ABEntry(const std::string& name):name_(name){ }private: std::string name_; }
说明
正确做法仅仅调用一次copy构造函数,而错误做法中会先调用默认构造函数在调用赋值函数,相比之下效果低。
其他
class的成员变量初始化顺序总是相同的,按照申明次序; base classes更早于derived classes;
0 0
- 利用“member initialization list”初始化类成员
- 类成员变量初始化列表(Member Initialization List)
- 类成员变量初始化列表(Member Initialization List)
- C++初始化成员列表(member initialization list)
- member initialization list (初始化队伍?)
- C++对象模型(四):class成员初始化列表(Member Initialization List)
- Inside the C++ Model第二讲之 成员初始化列表(Member Initialization List)
- C++ Static Member Variable Initialization 静态成员变量初始化
- 成员初始化列表(member initializer list)
- 构造函数成员初始值列表(member initialization list)
- Member Initialization List
- forbids in-class initialization of non-const static member不能在类内初始化非const static成员
- 深入探索C++对象模型笔记之五 —— 构造函数语意学 (成员们的初始化队伍 Member Initialization List)
- Member Initialization List in C++
- java学习-变量初始化(member initialization)
- [深度探索C++对象模型]关于成员初始化列表(member initiallization list)
- C++类继承构造函数的语法 & initialization list初始化
- 在什么情况下使用 c++ member initialization list
- C++程序设计语言(特别版) -- 一个桌面计算器
- 寒武纪创始人陈天石:如何评价Google最新AI计算高性能专用硬件TPU
- DbUtils组件
- Guava处理原生类型的数据
- STL源码剖析 — 空间配置器(allocator)
- 利用“member initialization list”初始化类成员
- 悲观锁定与乐观锁定
- 正则表达式-量词的三种模式
- OpenCv 2.4.9 (二) 核心函数
- Android中常见的内存泄露
- 【GIT 基础篇三】版本撤销体验
- 文本处理工具
- OpenCv 2.4.9 (一) Mat基础结构&如何遍历图片
- 4.9