我在这里提出了一个问题:initializer_list返回值的生命周期延长,其中涉及到以下非功能性代码:
const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c}; };
我原以为lambda表达式尝试返回一个intializer_list
(这是不好的,不要这样做)。但我得到了一个评论:
它不是
initializer_list
,它是初始化列表。这是两个不同的东西。
我只是认为任何时候你用大括号创建一个列表就会创建一个intializer_list
。如果这不是发生的事情,那么花括号中的列表是什么?
initializer_list
相关的好知识吗?因为如果你直接说它与之有关,我不明白。 - Jonathan Mee