一个简单的泛型编程例子

template <typename T> void myswap(T& a, T& b) { T tmp = a; a = b; b = tmp; }   template:告诉编译器,即将开始泛型编程 typename T:告诉编译器后面代码中,T是一个泛指类型。   ― 编译器并不是把函数模板处理成能够处理任意类型的函数
― 编译器从函数模板通过具体类型产生不同的函数
― 编译器会对函数模板进行两次编译
  - 在声明的地方对模板代码本身进行编译
  - 在调用的地方对参数替换后的代码进行编译     类模板 使得类可以不用关心具体的数据类型,只关注类需要提供的功能。 template <typename T> class MyClass { public: T add(T& a, T& b); };
template <typename T> T MyClass<T>::add(T& a, T& b) { return a + b; }
上一篇:k8s集群节点添加失败,可用以下命令清理后,重新加入节点


下一篇:常用文本处理命令 & 三剑客之 sed