C++ 模板
文章平均质量分 74
繁星意未平
记录我的计算机学习之路,分享计算机专业知识,领悟计算机实践之道。
展开
-
可变参数模板(参考《C++ Templates 英文版第二版》)
可变参数模板(参考《C++ Templates 英文版第二版》) Chapter 4 可变参数模板 自从C++11,模板可以接受可变数量的参数 4.1 可变参数模板 可以定义模板,去接受无限数量的模板参数 这种行为的模板叫做可变参数模板 4.1.1 例子 #include <iostream> template<typename T> void print(T arg) { std::cout << arg << std::endl; } templat原创 2021-10-03 23:31:07 · 235 阅读 · 0 评论 -
非类型模板参数(参考《C++ Templates 英文版第二版》)
非类型模板参数(参考《C++ Templates 英文版第二版》) Chapter 3 3.1 非类型类模板参数 与前几章的简单例子不同,你也可以通过std::array实例化一个固定大小的栈,这样做的优点在于内存管理, #include <array> #include <cassert> template<typename T, std::size_t Maxsize> class Stack { private: std::array<T,Max原创 2021-09-26 12:12:52 · 100 阅读 · 0 评论 -
类模板(参考《C++ Templates 英文版第二版》)
类模板(参考《C++ Templates 英文版第二版》) Chapter 1 类模板 与函数相似,类也可以被一个或者多个类型参数化 在这章,我们使用栈作为例子 2.1 类模板stack的实现 #include <vector> #include <cassert> template<typename T> class Stack { private: std::vector<T> elems; public: void push(T con原创 2021-09-19 23:15:32 · 275 阅读 · 0 评论 -
函数模板(参考《C++ Templates 英文版第二版》)
C++模板编程(参考《C++ Templates 英文版第二版》) Chapter 1 函数模板 1.1 一窥函数模板 template<class T> T max(T a, T b) { return b < a ? a : b; } #include "max1.hpp" #include <iostream> #include <string> #include <format> int main(int argc, char* argv[原创 2021-09-15 21:19:50 · 287 阅读 · 0 评论