侧边栏壁纸
博主头像
我的学习心得 博主等级

行动起来,活在当下

  • 累计撰写 223 篇文章
  • 累计创建 60 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

C++ 基于 template 的泛型

Administrator
2022-08-29 / 0 评论 / 0 点赞 / 962 阅读 / 0 字

在 JavaScript 中我们这样使用 泛型

function sum<T>(x: T, y: T) {
    return x + y;
}

console.log(sum(1,2)) //=> 3
console.log(sum('x','y')) //=> xy

在 C++ 中我们通过 template 关键字声明 泛型

template <typename T> T const& sum(T const& x, T const& y) {
    return x + y;
}

cout << sum(1, 2) << endl; //=> 3
cout << sum(1.1, 2.2) << endl; //=> 3.3

有时候太长了就拆成两行写:

template <typename T>
T const& sum(T const& x, T const& y) {
    return x + y;
}

简单函数可以使用 inline 关键字,建议编译器将该函数内联(减少函数调用次数):

template <typename T>
inline T const& sum(T const& x, T const& y) {
    return x + y;
}

使用 template 声明 泛型

template <typename T>
class MyClass {}
0

评论区