初始化和实例化变量有什么区别?
我搜索过问题,我只看到初始化变量(为变量赋值初始值)并实例化对象。
答案 0 :(得分:3)
C ++的规范性语言规范是ISO标准,该文档使用单词"仅为模板实例化" 。因此,如果Stack Overflow上的某人使用"来实例化" 作为"的同义词来初始化" ,那么'正式错了。
随意下载latest (free) draft并搜索PDF以及#34;实例化"。
甚至Stack Overflow"实例化"您在问题中使用的标签字面上说:
在C ++语言中,实例化是创建类的过程 或从类模板或函数模板中运行。
因此,实例化的结果不是对象,而是从模板创建的类或函数。相反,初始化的结果是一个对象。
但请注意,C ++ 14 variable templates的情况稍微不那么清晰。实际上,变量模板既实例化又初始化。但是变量模板无论如何都是相当罕见的。