源码

首页 » 归档 » 源码 » c – 选择可变参数模板的最后一个参数的…

c – 选择可变参数模板的最后一个参数的…


我知道如何选择可变参数模板的第一个参数:

template< class...Args> struct select_first;
template< class A, class ...Args> struct select_first{  using type = A;};

这很简单.但是,select_last不相似:

template< class ...Args> struct select_last;
template< class A> struct select_last { using type = A; };
template< class A, class Args...> struct select_last{ 
        using type = typename select_last::type;
};

该解决方案需要深度递归模板即时.
我尝试用以下方法解决这个问题:

template< class A, class Args...>
struct select_last< Args ... , A>{  using type = A; }; // but it's not compiled.

问:存在更有效的方法来选择可变参数模板的最后一个参数?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/c-xuanzekebiancanshumobandezuihouyigecanshude.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 27, 2019 at 06:17 上午

热评文章