Des*_*tor 1 c++ initialization aggregate-initialization
考虑以下程序.
#include <iostream> int main() { int a=int{}; std::cout<<a; }
它是使用聚合初始化还是默认初始化?我很迷惑.
eer*_*ika 5
空括号或大括号(T()或T{})执行值初始化.例外情况是类型是聚合,在这种情况下将使用聚合初始化.由于int它不是聚合,它将被初始化值,因为它不是类也不是数组,值初始化将进行零初始化.
T()
T{}
int
你想知道为什么它在C中不起作用.这样的语法在C中根本不存在,请参阅这个答案.
归档时间:
10 年,7 月 前
查看次数:
123 次
最近记录:
6 年,11 月 前