直接初试化,拷贝初试化,值初试化详解编程语言

列表初试化:用花括号初试化

直接初试化:将参数放在括号中初试化

拷贝初试化:用=或者将累的对象当做初试化的参数

值初试化:C++中用new开辟的空间通过在要初始化的空间的类型名后跟()来启用值初始化,而库类型则自动对未初始化的变量启用值初始化

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

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

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

默认情况下,动态分配的对象时默认初始化的,这意味着内置类型或组合类型的对象的值时未定义的,而类类型对象将默认构造函数进行初始化;也可以对动态分配的对象进行值初始化,只需在类型名之后跟一对空括号即可。

合成的默认构造函数中,如果是类对象,那么调用这个对象的默认构造函数,如果是内置类型则未定义。

#include <iostream> 
using namespace std; 
 
class A{ 
public: 
private: 
    A &operator=(const A&); 
    int a; 
}; 
 
int main(int argc, char **argv) 
{ 
    A a, *pa = new A(); 
    return 0; 
}
a={a=-6589}    //没有给a初试化 
*pa={a=0}        //内置类型初试化为0

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/16276.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论