C++中初始化列表的使用
文章目录
- 1 C++中初始化列表的使用
- 1.1 类成员的初始化
1 C++中初始化列表的使用
1.1 类成员的初始化
C++中提供了初始化列表对成员变量进行初始化。
语法规则:
注意事项:
- 成员的初始化顺序与成员的声明顺序相同。
- 成员的初始化顺序与初始化列表中的位置无关。
- 初始化列表先于构造函数的函数体执行。
#include <stdio.h>class Value
{private:int mi;
public:Value(int i){printf("i = %d\n", i);mi = i;}int getI(){return mi;}
};class Test
{private:Value m2;Value m3;Value m1;
public:Test() : m1(1), m2(2), m3(3){printf("Test::Test()\n");}
};int main()
{Test t;return 0;
}/*
运行结果:
i = 2
i = 3
i = 1
Test::Test()
*/
参考资料:
- C++深度解析教程
C++中初始化列表的使用相关推荐
- 1.c++中初始化列表和构造函数初始化的区别是什么?2.类的成员变量的初始化顺序是按照声明顺序吗?
初始化列表和构造函数初始化的区别是什么? 初始化和赋值对内置类型的成员没有太大的区别,在成员初始化列表和构造函数体内进行,在性能和结果上都是一样的.只有一些需要注意的事项 初始化列表一般情况如下: D ...
- c++中初始化列表顺序和声明顺序一致
a 转载于:https://www.cnblogs.com/youge-OneSQL/p/9728761.html
- python空列表列表初始化_Python如何初始化列表?
Python是一种非常灵活的语言,可以通过多种方式执行单个任务,例如,可以通过多种方式执行初始化列表.下面本篇文章就来带大家了解几种Python初始化的方法,并比较一下这几种方法的效率,希望对大家有所 ...
- Python初始化列表
Python初始化列表 下面我们就来介绍在Python中初始化列表(我们创建大小为1000并使用零初始化的列表)的一些方法. 1)方法一:使用for循环和append()函数 arr = [] for ...
- 28.构造函数中,成员变量一定要通过初始化列表来初始化的?
首先要明确:如果对象成员是const或者引用的话,必须将其初始化! 构造函数中,成员变量一定要通过初始化列表来初始化的的几种情况! 1)对象成员是const或者引用 #include <iost ...
- c++构造函数成员初始化中赋值和初始化列表两种方式的区别
先总结下: 由于类成员初始化总在构造函数执行之前 1)从必要性: a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数 b. 成员是常量或引用:成员无法赋值,只能被初始化 ...
- C++经典问题:如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B?
对象成员特点总结: (1)实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数. (2)如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的 ...
- 必须在构造函数基/成员初始值设定项列表中初始化
C++ primer 上面的一个例子:// constRef.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h"class constRef { ...
- C++中成员初始化列表的使用
C++在类的构造函数中,可以两种方式初始化成员数据(data member). 1,在构造函数的实现中,初始类的成员数据.诸如: class point { private: int x,y; pu ...
最新文章
- 【Matlab 图像】HSV 空间图片分离器
- 幅度为a0的载波由峰峰值_十个医疗箱都不够用?戒掉这些坏习惯,满活跃值闯进决赛圈不是梦!...
- MIT Scheme 使用 Edwin
- kettle 空字符串 null问题解决
- html调用python_flask之模板html中调用python函数方法
- 详解http和https的区别
- 随想录(学习消费类soc芯片)
- 模型预测控制的缺点_【电子技术】【2018.01】模型预测控制FPGA实现的协同设计...
- solr中facet及facet.pivot理解
- 数据库MySQL/mariadb知识点——操作篇(4)数据操作语句
- kotlin之高阶函数
- flag--命令行参数定义多标签示例
- linux用ping命令测试网速,Linux通过终端测试网速
- linux替换空格、
- brew安装php-ffmpeg,macos安装ffmpeg以及出现问题的解决方案,一次成功
- Python+Selenium练习篇13-设置浏览器下载文件默认地址
- (ACWing yxc讲解基础算法课程笔记)基础算法 整数二分
- 思科链路聚合Port
- 【干货长文】诺亚财富解读市场信息心理学
- 美国眼镜行业零售商Costco正式采购三井化学高折射率镜片单体MRTM