another question
,我开始怀疑代码的良好形式。
据我所知,以下代码的格式不正确
int main ()
{
std::tuple<> a;
std::get<0>(a);
}
std::get<I>(t)
什么时候
t
是一个
std::tuple<Ts...>
I
[0, sizeof...(Ts)[
.
sizeof...(Ts)
[0, 0[
是空的,所以
std::get<I>(a)
每个索引的格式都不正确
.
但是什么时候
是否通过空的可变数据包进行扩展?
我的意思是:以下代码
#include <tuple>
template <typename ... Args>
void bar (Args const & ...)
{ }
template <std::size_t ... I>
void foo ()
{
std::tuple<> a;
bar( std::get<I>(a) ... );
}
int main ()
{
foo<>();
}
使用格式不正确的(?)呼叫(
标准::获取(<);I>(a)
)但零时间变量扩展了(
sizeof...(I)