【通识】C++基础知识

1. C++模板

创建泛型代码的机制,主要包括‌函数模板‌和‌类模板
通过模板,可以编写与类型无关的代码,提高代码的复用性和效率

// 接受任意类型的参数并返回最大值
template<typename T> 
// 
T max(T a, T b) {
    return (a > b) ? a : b;
}

类模板

template<typename T>
class Stack {
private:
    std::vector<T> elements;
public:
    void push(T elem) { elements.push_back(elem); }
    T pop() { T elem = elements.back(); elements.pop_back(); return elem; }
};

这样,Stack类可以用于存储整数、字符串等不同类型的数据。
默认模板参数和特化
模板还可以使用默认参数,例如:

template<typename T = int>
T multiply(T a, T b) {
    return a * b;
}

如果不指定类型,默认使用int类型。此外,还可以对模板进行特化,以处理特定情况:

template<>
class Stack<double> { /* 特化实现 */ };

使用显式模板实参

#include 
template <typename T>
void  printValue(V value) {
  std::cout<<value<<std::endl;
}
int main() {
  printValue<int>(5); // 显示指定模板参数为int
  printValue<double>(3.14); 
  
}

你可能感兴趣的:(c++,java,开发语言)