文章目录

  • 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()
*/

参考资料:

  1. C++深度解析教程

C++中初始化列表的使用相关推荐

  1. 1.c++中初始化列表和构造函数初始化的区别是什么?2.类的成员变量的初始化顺序是按照声明顺序吗?

    初始化列表和构造函数初始化的区别是什么? 初始化和赋值对内置类型的成员没有太大的区别,在成员初始化列表和构造函数体内进行,在性能和结果上都是一样的.只有一些需要注意的事项 初始化列表一般情况如下: D ...

  2. c++中初始化列表顺序和声明顺序一致

    a 转载于:https://www.cnblogs.com/youge-OneSQL/p/9728761.html

  3. python空列表列表初始化_Python如何初始化列表?

    Python是一种非常灵活的语言,可以通过多种方式执行单个任务,例如,可以通过多种方式执行初始化列表.下面本篇文章就来带大家了解几种Python初始化的方法,并比较一下这几种方法的效率,希望对大家有所 ...

  4. Python初始化列表

    Python初始化列表 下面我们就来介绍在Python中初始化列表(我们创建大小为1000并使用零初始化的列表)的一些方法. 1)方法一:使用for循环和append()函数 arr = [] for ...

  5. 28.构造函数中,成员变量一定要通过初始化列表来初始化的?

    首先要明确:如果对象成员是const或者引用的话,必须将其初始化! 构造函数中,成员变量一定要通过初始化列表来初始化的的几种情况! 1)对象成员是const或者引用 #include <iost ...

  6. c++构造函数成员初始化中赋值和初始化列表两种方式的区别

    先总结下: 由于类成员初始化总在构造函数执行之前 1)从必要性: a. 成员是类或结构,且构造函数带参数:成员初始化时无法调用缺省(无参)构造函数 b. 成员是常量或引用:成员无法赋值,只能被初始化 ...

  7. C++经典问题:如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B?

    对象成员特点总结: (1)实例化对象A时,如果对象A有对象成员B,那么先执行对象B的构造函数,再执行A的构造函数. (2)如果对象A中有对象成员B,那么销毁对象A时,先执行对象A的析构函数,再执行B的 ...

  8. 必须在构造函数基/成员初始值设定项列表中初始化

    C++ primer 上面的一个例子:// constRef.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h"class constRef { ...

  9. C++中成员初始化列表的使用

    C++在类的构造函数中,可以两种方式初始化成员数据(data member). 1,在构造函数的实现中,初始类的成员数据.诸如: class point { private:  int x,y; pu ...

最新文章

  1. 【Matlab 图像】HSV 空间图片分离器
  2. 幅度为a0的载波由峰峰值_十个医疗箱都不够用?戒掉这些坏习惯,满活跃值闯进决赛圈不是梦!...
  3. MIT Scheme 使用 Edwin
  4. kettle 空字符串 null问题解决
  5. html调用python_flask之模板html中调用python函数方法
  6. 详解http和https的区别
  7. 随想录(学习消费类soc芯片)
  8. 模型预测控制的缺点_【电子技术】【2018.01】模型预测控制FPGA实现的协同设计...
  9. solr中facet及facet.pivot理解
  10. 数据库MySQL/mariadb知识点——操作篇(4)数据操作语句
  11. kotlin之高阶函数
  12. flag--命令行参数定义多标签示例
  13. linux用ping命令测试网速,Linux通过终端测试网速
  14. linux替换空格、
  15. brew安装php-ffmpeg,macos安装ffmpeg以及出现问题的解决方案,一次成功
  16. Python+Selenium练习篇13-设置浏览器下载文件默认地址
  17. (ACWing yxc讲解基础算法课程笔记)基础算法 整数二分
  18. 思科链路聚合Port
  19. 【干货长文】诺亚财富解读市场信息心理学
  20. 美国眼镜行业零售商Costco正式采购三井化学高折射率镜片单体MRTM

热门文章

  1. Verdi - GUI技能操作 Before you start (未完)
  2. Scan Chain的原理与实现(实践)-top down flow
  3. DIY烤肉加热台,了解一下?
  4. 使用Python增加csdn的访问量
  5. MATLAB中plot()画图的颜色线型和希腊字母参数设置
  6. JAVA入门笔记·JAVA名词及环境搭建
  7. GSLX680触摸屏驱动移植
  8. Micropython 红外防坠落小车实验教程
  9. 物联网时代如何管理上百万设备?找风河DLM就对了!
  10. nginx的反向代理以及负载均衡模块的使用