[c++] c++的灵魂-模版<template> - 刘傲天

in 默认分类 with 0 comment

模板

大家好我是刘傲天,欢迎来到我的博客,很久没有更新我的博客了,在学习c++之际给大家打来一期文章。是关于c++的灵魂模板编程的。
模板编程是STL标准库的基石,也是c++引以为傲的内容,也是c++标准的核心特性之一。模板编程简而言之就是提供一个处理事物的模板,让所有处理同样事物的操作,都可以使用一种模板来处理。

语法

模板基本的语法大多为以下内容:

template <typename/class T>

但是在实际使用中typename可能用得并不如class多,当心这个class并不是类的class,而是代表别名的意思,template告诉编译器,当前的内容是一个模板,调用时使用< >尖括号来确定模板形参,模板会在实例化的时候确定自己的类型,接下来T则会为这个类型的别名,通过这种方式让一套模板可以用于多个同样服务的场景。

应用

#include <string>
#include <iostream>

using namespace std;

template <class T> T add(const T one, const T two) {
    T three;
    three = one + two;

    return three;
}

int main(void) {

    auto b = add(string("1"), string("2"));

    cout << b << endl;

}
Responses