第三篇:C++ 中的几种初始化

前言

       阅读C++教材时,想必你听过复制初始化,直接初始化,值初始化这三个概念吧。笔者本人常将其混淆,遂在此记录下它们的具体含义以便日后查阅。

复制初始化( copy-initialization )

       复制初始化使用 = 对变量进行初始化。

直接初始化( direct-initialization )

       直接初始化用把初始化式子放到括号中的方式对变量进行初始化。

值初始化( value-initialization )

       值初始化和上面两种初始C++中的几种初始化化是不同的概念上两种初始化说明的是“ 用什么样的语法格式来初始化变量 ",而值初始化不但要说明“ 用什么样的语法格式来初始化变量 "( C++中用new开辟的空间通过在要初始化的空间的类型名后跟()来启用值初始化,而库类型则自动对未初始化的变量启用值初始化 ),而且还要说明是" 用什么值来初始化变量 "。

       1. 当变量为内置类型,值初始化用0来对其初始化。

       2. 当变量为类类型,值初始化用该类的默认构造函数初始化。

       3. 当变量为类类型且没有默认构造函数时,值初始化要求程序员提供初始化值。

说明

       值初始化通常用在初始化一段连续的内存区( 如vector容器,new一段空间 )。

posted @ 2017-01-19 16:25  穆晨  阅读(751)  评论(0编辑  收藏  举报