Составные литералы - это конструкция C99. Хотя я могу сделать это в С++:
#include <iostream>
using namespace std;
int main() {
for (auto i : (float[2]) {2.7, 3.1}) cout << i << endl;
}
Похоже, что MSVC поддерживает его как расширение. Но все компиляторы, с которыми я могу справиться, составляют вышеприведенный код.
Итак, - это функция, доступная в С++ 14? Есть ли другой стандартный термин (мне кажется, что я просто создаю временную, используя исправленную инициализацию)?
Боковое примечание: "Составные литералы" (или что бы я ни назвал выше) - это контекст расширения пакета (просто чтобы упомянуть функциональность)