欢迎使用CSDN-markdown编辑器

来源:互联网 发布:python pdf2txt 编辑:程序博客网 时间:2024/06/11 12:26

从学习C++的模板开始

//本文虽说是原创,但都是读了其他博客,教程或者知乎回答的总结

泛型编程(Generic Programming)的初衷是实现通用容器,而采用的方法是参数化类型,(联想C中宏也可以参数化类型。)
模板是编译时多态技术:

那什么又是编译时多态呢,简单点说就是让编译器帮我确定类型,我写程序时只要标记下这里我要用“某种类型”的对象,至于具体是什么类型我不关心,你编译器帮我确定,编译完成后在运行时绝对是类型确定的,这样就大大提高了运行效率,反之对编译就增加了很多工作,而且生成的目标代码也会大大增加。所以对C++来说,所谓“泛型(Generics)”,并不是说编译器不知道类型,而是针对程序员来说的,这也正是通用性的体现。Vesion的回答

A template is a blueprint or formula for creating a generic class or a function.
一个来自其他博客的例子, 参见源地址: https://www.tutorialspoint.com/cplusplus/cpp_templates.htm