• Visual C++ 学习笔记四 —— 模板


      如果要使一个函数自动适用于不同的数据类型,而不是每种数据类型都要写不同的函数,模板是非常好的解决方式。

      比如要求int,double和float类型的数绝对值。通常会这样写:

    1 int abs (int n)
    2 {
    3 return n < 0 ? -n : n;
    4 }
    5  double abs (double n)
    6 {
    7 return n < 0 ? -n : n;
    8 }
    9  float abs (float n)
    10 {
    11 return n < 0 ? -n : n;
    12 }
    这是相当让人头疼的事情,但确实是对的。模板的话就会见到很多。模板的声明用关键字template 。例:

    template <typename T>
    T abs(T n)
    {
    return n < 0 ? -n : n;
    }
    几句代码确包含了上面近十行代码的功能而且要强大的多。

      系统在编译的时候会根据调用模板时的参数生成对应数据类型的函数然后再返回。是个省力的东西。

      每天进步一点点。

  • 相关阅读:
    调用AsyncTask的excute方法不能立即执行程序的原因分析及改善方案
    辅助
    目录检索
    高斯消元法
    树套树
    珂朵莉树
    卢卡斯定理
    中国剩余定理
    数论基础
    网络流基础
  • 原文地址:https://www.cnblogs.com/mnight/p/1926893.html
Copyright © 2020-2023  润新知