int a = 0 与 int a(0) int a(b)

时间:2021-04-12 16:22:45

偶然看书发现了int a(0);这种写法,当时感觉很奇怪,于是网上搜索一番,发现了其中原因
C++ 延续了C 的编程思想,所以说有两套编程体系,面向对象及面向过程

  • int a = 0;
    这种写法,就是经典的C的写法,初始化a为零

  • int a(0);
    这个是使用了构造函数写法的初始化,相当于定义一个int的对象,其初始化的传给构造函数的值为零。

所以说 int a = 1; 和int a(1);是一码是。

append

int a(b) 相当于是对一个已经存在的对象b进行复制,(克隆)
有别于a = b ,前者试初始化,后者是赋值