码迷,mamicode.com
首页 > 编程语言 > 详细

[c++11]模板01

时间:2019-10-23 11:18:28      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:c++   mamicode   info   ons   return   mic   ace   line   多个   

一个例子开始

技术图片

技术图片

#include <iostream>
using namespace  std;
template <typename T>
inline T const& max(T const& a, T const& b)
{
    return a < b ? b : a;
}

int main()
{
    int i = 0;
    int j = 3;
    cout<<::max(i, j)<<endl;

    double f1 = 3.4;
    double f2 = -6.7;
    cout << ::max(f1, f2) << endl;

    string s1 = "as";
    string s2 = "bs";
    cout << ::max(s1, s2) << endl;

    return 0;
}

技术图片


指定多个参数的模板

技术图片

#include <iostream>
using namespace  std;

template <typename T1,typename T2>
inline T1 const& max(T1 const& a, T2 const& b)
{
    return a < b ? b : a;
}


int main()
{
    int i = 0;
    double j = 3.9;
    cout << ::max(i, j) << endl;
    return 0;
}

技术图片


解决返回值类型的问题

技术图片

#include <iostream>
using namespace  std;

template <typename T1,typename T2,typename RT>
inline RT const& max(T1 const& a, T2 const& b)
{
    return a < b ? b : a;
}


int main()
{
    int i = 0;
    double j = 3.9;
    cout << ::max<int,double,double>(i, j) << endl;
    return 0;
}

技术图片

[c++11]模板01

标签:c++   mamicode   info   ons   return   mic   ace   line   多个   

原文地址:https://www.cnblogs.com/tailiang/p/11724852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!