我有以下代码:
template<typename... Args> constexpr static const inline int sc(Args&&... args)
{
return scanf(_hidden::fmt< decltype(args+0)... >::result::data,
_hidden::link<decltype(&args),decltype(args+0)>({&args,args}).data...);
}
至少没有-O3标志的g ++编译器将其编译为函数调用,忽略内联参数。我怎么能用宏或其他任何东西替换这种复杂的可变参数扩展,如果没有使用任何编译器集的额外函数,将编译为单个scanf调用? 只是学术兴趣,在实际案例中-O3旗帜可以做任何事情