gpt4 book ai didi

c++ - 是否有任何常规模式可以确定将...放在模板中的位置?

转载 作者:行者123 更新时间:2023-12-01 14:04:17 26 4
gpt4 key购买 nike

我对 ... 所在的位置感到困惑使用模板参数包时应该放置。
例如,在模板参数列表中,我们应该使用 typename ...Ts , 而在参数列表中,它变成 Ts...ts .
当实例化一个模板时,它变成 tuple<Ts...>最让我困惑的是 std::forward<Args>(args)... , ...在括号之外。在那之前,我强制自己记住这个,直到今天我看到这个:sizeof...(Params) ,我想我必须了解正则模式以避免进一步混淆。
那么有人可以帮助如何治疗...充分了解放在哪里的位置?

最佳答案

它遵循重复的事情。跟在后面的名字就像多个名字一样。
template<typename... Ts>我们声明多个 typename s,例如template<typename Ts0, typename Ts1, typename Ts2> .
void foo(Ts... ts) ,我们声明了多个参数,使用多种类型,例如void foo(Ts0 ts0, Ts1 ts1, Ts2 ts2)std::tuple<Ts...>我们正在使用多种类型来实例化 std::tuple ,例如std::tuple<Ts0, Ts1, Ts2>std::forward<Args>(args)...我们正在使用多个表达式,例如std::forward<Args0>(args0), std::forward<Args1>(args1), std::forward<Args2>(args2)sizeof...是命名运算符,不同于 sizeof

关于c++ - 是否有任何常规模式可以确定将...放在模板中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62990833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com