相关疑难解决方法(0)

Black Magic 使用 Initializer_list 和包扩展

为了扩展灵活的函数参数,有一种方法使用std::initializer_list. 然而我无法理解。任何人都可以以可以理解的方式解释这一点吗?

template<typename T, typename... Args>
auto print(T value, Args... args) {
    std::cout << value << std::endl;
    return std::initializer_list<T>{([&] {
        std::cout << args << std::endl;
    }(), value)...};
}
Run Code Online (Sandbox Code Playgroud)

c++ variadic-templates c++14 pack-expansion

6
推荐指数
1
解决办法
108
查看次数

标签 统计

c++ ×1

c++14 ×1

pack-expansion ×1

variadic-templates ×1