两种指定函数模板类型的方法
来源:互联网 发布:modis atmosphere数据 编辑:程序博客网 时间:2024/05/11 18:13
// filename: test.cpp#include <stdio.h>template <typename T>int a(){ int j = sizeof(T); printf("T size %d\n", j); return 0;}template <typename V>int b(V v){ int j = sizeof(v); printf("V size %d\n", j); return 0;}int main(int argc, const char *argv[]){ // 方法1:通过手写类型来指定模板类型 a<int>(); a<double>(); // 方法2:通过编译器自动推导类型来指定模板类型 int i; double d; b(i); b(d); return 0;}
编译执行:
[xiaochu.yh@OB test]$ g++ test.cpp [xiaochu.yh@OB test]$ ./a.out T size 4T size 8V size 4V size 8
上面是单独针对函数,你还会看到一个类里面的普通函数、static函数也这么用,一回事。
class SomeClass {public: template <typename C> static void run() { printf("C size %d\n", sizeof(C)); } template <typename X> void fish() { printf("X size %d\n", sizeof(X)); }};int main(int argc, const char *argv[]){ SomeClass::run<int>(); // 注意,类型是写在run后面 // SomeClass<int>::run(); // 编译失败,思考一下为什么 SomeClass s; s.fish<int>(); return 0;}
0 0
- 两种指定函数模板类型的方法
- 需要指定模板函数参数的两种必要情况
- android应用 获取本地指定类型文件 的两种最优方法
- android应用 获取本地指定类型文件 的两种最优方法
- android应用 获取本地指定类型文件 的两种最优方法
- 删除指定节点的两种方法
- C++库研究笔记——使用函数模板还是类模板?+ 一个类型重复问题的两种解决方法
- 对c++中模板函数函数类型或者函数对象了类型显式指定的理解
- 两种方法指定属性
- 显式指定函数模板的形参使用的类型
- int类型转换为string类型的两种方法
- Android RecyclerView:设置指定位置的两种方法
- Java中double保留指定位数的两种方法
- zabbix3.0.4使用shell脚本和zabbix自带模板两种方法添加对指定进程和端口的监控
- 函数指针实现的两种方法
- strlen函数实现的两种方法
- story的两种常见类型的拆分方法
- 关于反射中创建类型实例的两种方法
- 2_scala_数字操作
- linux下shell脚本学习
- iOS开发基础-UIView的使用
- d3系列2--api攻坚战08
- mac 动态Socks代理切换
- 两种指定函数模板类型的方法
- 水印相机
- .net 自动打印枚举值 (可以兼容16进制的枚举值)
- Servlet与jsp间的传值问题
- Mongodb的安装与启动
- iOS开发基础- UIScrollView
- 经典Oracle函数大全
- Subversion命令汇总
- 调试lldb命令常用