c++中的模板
2016-04-16 00:23
106 查看
我目前知道的c++中的模板就是
1.函数模板
2.类模板
对于这两种模板,有一个从百度知道copy来的精彩回答:
总结一下就是一般用template<typename T>就好了。
1.函数模板
2.类模板
对于这两种模板,有一个从百度知道copy来的精彩回答:
按 C++ 标准来说,template<typename T> 用于基础数据类型,typename 指类型名,T 可以取 char int double 等。 template<class T> 用于类,T 可以取任何类。 但是这里有一个问题,结构体应该用 typename 还是 class? 结构体肯定不是基础数据类型,但也不是类。 所以实际情况是,template<class T> 的 T 也可以取基础数据类型,tempate<typename T> 的 T 也可以取类。 但有一个特例,就是当 T 是一个类,而这个类又有子类(假设名为 innerClass) 时,应该用 template<typename>: typename T::innerClass myInnerObject; 这里的 typename 告诉编译器,T::innerClass 是一个类,程序要声明一个 T::innerClass 类的对象,而不是声明 T 的静态成员,而 typename 如果换成 class 则语法错误。
总结一下就是一般用template<typename T>就好了。
相关文章推荐
- [C++]用变量增长模拟算法运行时间
- c++ 类的构造函数
- 巩固C语言(五)----获取CMD输出的字符串 & 字符串的拷贝、查找、长度 & 实例之调戏QQ
- 【Leetcode】2.Add Two Numbers 解题
- 【Leetcode】1.Two Sum 解题
- 探究printf
- C# 与 C++ 交互
- (LeetCode 326)Power of Three
- (C语言基础版)贪吃蛇-支持滚键盘
- C++给函数传数组参数
- C++ <string><string.h>函数区别
- C++第二次作业补充
- C/C++语言中NULL、'\0’和0的区别
- C++/C代码规范(个人)(不断更新)
- C++第二次实验补充
- C++ 命名空间 namespace 知多少
- C++ 中关于默认构造函数的一点困惑
- VS 创建 使用C++ 静态类库(Dll)
- effective c++读书笔记(一)
- C++实践参考:数组作数据成员