zoukankan      html  css  js  c++  java
  • 【C++ Primer 第16章】重载与模板

    编写重载模板

     1 #include <iostream>
     2 #include <sstream>
     3 #include <string>
     4 using namespace std;
     5 
     6 template <typename T>
     7 string debug_rep(const T &t)
     8 {
     9   ostringstream ret;
    10   ret << t;
    11   return ret.str();
    12 }
    13 
    14 template <typename T>
    15 string debug_rep(T *p)
    16 {
    17   ostringstream ret;
    18   ret << "point: " << p;
    19   if (p)
    20     ret << " " << debug_rep(*p);
    21   else
    22     ret << " null pointer";
    23 
    24   return ret.str();
    25 }
    26 
    27 int main()
    28 {
    29   string s("hi");
    30   cout << debug_rep(s) << endl;
    31   cout << debug_rep(&s) << endl;
    32 
    33   const string *sp = &s;
    34   cout << debug_rep(sp) << endl;
    35   return 0;
    36 }

    输出:

    2.

  • 相关阅读:
    Manacher算法
    [SCOI2010]生成字符串
    [HNOI2008]GT考试
    矩阵乘法
    关于主席树
    Spring 书籍
    Spark书籍
    TimeMeasure
    Dynamic login
    Image quality evaluation
  • 原文地址:https://www.cnblogs.com/sunbines/p/14942154.html
Copyright © 2011-2022 走看看