初始化和实例化变量有什么区别?

时间:2018-04-15 09:51:20

标签: c++ variables initialization instantiation

初始化和实例化变量有什么区别?

我搜索过问题,我只看到初始化变量(为变量赋值初始值)并实例化对象。

1 个答案:

答案 0 :(得分:3)

C ++的规范性语言规范是ISO标准,该文档使用单词"仅为模板实例化" 。因此,如果Stack Overflow上的某人使用"来实例化" 作为"的同义词来初始化" ,那么'正式错了。

随意下载latest (free) draft并搜索PDF以及#34;实例化"。

甚至Stack Overflow"实例化"您在问题中使用的标签字面上说:

  

在C ++语言中,实例化是创建类的过程   或从类模板或函数模板中运行。

因此,实例化的结果不是对象,而是从模板创建的类或函数。相反,初始化的结果是一个对象。

但请注意,C ++ 14 variable templates的情况稍微不那么清晰。实际上,变量模板既实例化又初始化。但是变量模板无论如何都是相当罕见的。