c++模板移除引用
2024-09-08 12:21:37
背景
- 一个函数内部需将函数内的一个变量转为其参数的类型, 函数的参数是引用
- 本文要演示的环境需要c++11支持(使用了新的关键字 using)
- 例如 get_value 内部将dobuble类型数据转为 int.
void get_value(int & out_value)
{
/// 测试数据
double query_result = 1.234;
/// 得到参数的类型
using out_value_type = remove_ref<decltype(out_value)>::type;
/// 执行转换
out_value = static_cast<out_value_type>(query_result);
}
模板
- 使用下面的模板可得到参数的类型
template<typename T>
class remove_ref
{
public:
typedef T type;
};
template<typename T>
class remove_ref<T&>
{
public:
typedef T type;
};
用法范例
int int_value = 0;
get_value(int_value);
结果
扩展
- get_value ,这里演示的是double 数据类型,如果是其他类型(int, char unsigned char......),用这样的方式可支持多种数据类型。 好处多多.
最新文章
- 获取打开的Word文档
- 使用gulp将移动端px转为rem
- js异步加载
- sql中文字符串获取拼音首字母
- [原创]java WEB学习笔记83:Hibernate学习之路---双向 1-n介绍,关键点解释,代码实现,set属性介绍(inverse,cascade ,order-by )
- HDU 1058 Humble Numbers【DP】
- poj 3249 Test for Job (记忆化深搜)
- Iterator荟萃
- Haskell Json数据处理
- intelij idea设置和使用git
- Python使用lxml模块和Requests模块抓取HTML页面的教程
- SQL server 清除缓存
- iframe初始化属性
- DOM中的事件对象和IE事件对象
- Redraw Beautiful Drawings(hdu4888)网络流+最大流
- C#编程(三十一)----------泛型总结
- CSS学习笔记(9)--详解CSS中:nth-child的用法
- plsql中查看sql执行计划
- cocos2d-x 动作类
- mysql数据库补充知识7 索引原理与慢查询优化
热门文章
- MariaDB——在Linux中查找数据库路径,并进入数据库
- C4.5决策树-为什么可以选用信息增益来选特征
- 多线程高级篇1 — JUC — 只弄到处理高并发集合问题
- cvc-complex-type.2.3: Element &#39;servlet&#39; cannot have character [children], because the type&#39;s content
- 学习java的第十三天
- 我可以减肥失败,但我的 Docker 镜像一定要瘦身成功!
- jquery对radio和checkbox的操作
- 【编程思想】【设计模式】【行为模式Behavioral】registry
- linux系统下安装dubbo-admin
- 使用OPC与PLC通讯 一