• C++ 中的几种初始化


    前言

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

    复制初始化( copy-initialization )

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

    直接初始化( direct-initialization )

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

    值初始化( value-initialization )

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

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

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

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

    说明

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

      

  • 相关阅读:
    Leetcode: 1425
    Leetcode: 1508 Range Sum of Sorted Subarray Sums
    Leetcode: 1353. Maximum Number of Events That Can Be Attended
    Leetcode: 1424. Diagonal Traverse II
    Leetcode: 825. Friends Of Appropriate Ages
    非递归实现二叉树的前序,中序,后序遍历
    TCP协议详解
    Linux常见命令
    C++基础笔记
    指针和引用的区别
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3372322.html
Copyright © 2020-2023  润新知