zoukankan      html  css  js  c++  java
  • 通用模板实现可变参数函数

     1 //模板
     2 template <class T>
     3 T getMax(T a, T b)
     4 {
     5     return a > b ? a :b;
     6 }
     7 
     8 
     9 template<typename T>
    10 T MAX(T *p, const int n)
    11 {
    12     T max = p[0];
    13     for(int i = 1; i < n; i++)
    14     {
    15         if(max < p[i])
    16         {
    17             max = p[i];
    18         }
    19     }
    20     return max;
    21 }
    22 
    23 
    24 //模板实现参数可变函数
    25 template <typename T>
    26 T get_sum(T count, T data, ...)
    27 {
    28     va_list arg_prt;
    29     va_start(arg_prt, count);
    30     T sum = 0;
    31     for(int i = 0; i < count; i++)
    32     {
    33         sum += va_arg(arg_prt, T);
    34     }
    35     va_end(arg_prt);
    36     return sum;
    37 }


    下面这个是可变参数模板

     1 void showall()   //空函数,接口
     2 {
     3 
     4 }
     5 
     6 //通用可变参数模板 处理不限定个数的参数,处理不同类型
     7 template <typename T, typename...Args>
     8 void showall(T value, Args...args)
     9 {
    10     cout<<"value = "<<value<<"  ";
    11     showall(args...);
    12 }
  • 相关阅读:
    不同数据类型的取值范围
    反正切函数求圆周率 atan
    HDOJ 1106
    HDOJ 1596
    HDOJ 1026 dfs路径保存
    qsort用法总结
    HDOJ 2088
    HDOJ 1878 欧拉回路 nyoj 42一笔画问题
    HDOJ 1863 prim算法 HDOJ 1879
    HDOj 1010 DFS优化
  • 原文地址:https://www.cnblogs.com/newworldcom/p/4982175.html
Copyright © 2011-2022 走看看