zoukankan      html  css  js  c++  java
  • c++11可变参数的使用

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 using namespace std;
     5 
     6 int add(int a, int b, ...)
     7 {
     8     return a + b;
     9 }
    10 
    11 template<typename T, typename...>
    12 class A
    13 {
    14 private:
    15     T data;
    16 public:
    17     A() :data(0){}
    18     A(T d) :data(d){}
    19     ~A(){}
    20 public:
    21     void dis()
    22     {
    23         cout << data << endl;
    24     }
    25 };
    26 
    27 void tprintf(const char* format)
    28 {
    29     cout << format;
    30     return;
    31 }
    32 
    33 template<typename T, typename...Args>
    34 void tprintf(const char* format, T t, Args... args)
    35 {
    36     for (; *format != '\0'; format ++) {
    37         if (*format == '%'){
    38             cout << t;
    39             tprintf(format + 1, args...);
    40         return;
    41         }
    42         cout << *format;
    43     }
    44     return;
    45 }
    46 int main()
    47 {
    48     cout << add(1, 2) << endl;
    49     cout << add(1, 2, 3, 4) << endl;
    50     A<int> obj1(2);
    51     A<int, char> obj2(3);
    52     obj1.dis();
    53     obj2.dis();
    54     tprintf("% world!% \n", "hello", "123");
    55     cin.get();
    56     return 0;
    57 }
  • 相关阅读:
    ubuntu安装redis
    ubuntu安装mongodb
    IO-MYSQL的理解
    HTTP协议理解
    linux面试
    mysql引擎事物支持
    ubuntu安装scrapy方法
    mysql关系型和非关系型区别
    mysql引擎
    vue优势
  • 原文地址:https://www.cnblogs.com/mahaitao/p/5489197.html
Copyright © 2011-2022 走看看