使用auto和初始化列表

时间:2016-06-29 16:03:11

标签: c++ c++11 initializer-list

我对自动和初始化列表之间的交互有疑问。示例代码:

#include <iostream>

int main()
{
auto a{ 1 };
auto b = { 1 };
auto c = 1;

std::cout << typeid(a).name() << std::endl;
std::cout << typeid(b).name() << std::endl;
std::cout << typeid(c).name() << std::endl;

return 0;
}

提供输出:

int
class std::initializer_list<int>
int

这有点令人困惑。我将此问题发布为followup to this。应该怎么办?我做了一些研究,似乎auto c = 1;illegal now,似乎它起作用,因为编译器允许这作为向后兼容性补丁。这是否也适用于auto a{1}

0 个答案:

没有答案