复合文字是 C99 结构。即使我可以在 C++ 中做到这一点:
#include <iostream>
using namespace std;
int main() {
for (auto i : (float[2]) {2.7, 3.1}) cout << i << endl;
}
例如,似乎 MSVC 支持它作为扩展。然而,我可以使用的所有编译器都编译上述代码。
那么这是 C++14 中可用的功能吗?是否有不同的标准术语(在我看来,它就像使用大括号初始化创建一个临时的)?
旁注:“复合文字”(或我应该在上面调用的任何内容)是包扩展上下文(仅提及功能)