O que é uma lista fechada com chaves se não for intializer_list?

Eu fiz uma pergunta aqui:Extensão vitalícia de um retorno initializer_list envolvendo o código não funcional:

const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c}; };

Eu acreditava que o lambda estava tentando retornar umintializer_list (isso é ruim, não faça isso.) Mas eu tenho umComente:

Não é uminitializer_list, é uma lista de inicializadores. Duas coisas diferentes

Eu apenas pensei que sempre que você fazia uma lista com chaves, estava criando umintializer_list. Se não é isso que está acontecendo, o que é uma lista entre chaves?

questionAnswers(4)

yourAnswerToTheQuestion