我有一个要求:系统定义多个类似于unorder_map的数据,例如。
std::unorder_map< int, int> int_map;
std::unorder_map< int, double> double_map;
std::unorder_map< string, string> string_map;
...
std::unorder_map< string, vector<string> > string_string_map;
那么我们希望有一个统一的回调函数。当回调函数调用时,映射指针将传递给类似函数
undo_clear_data(&int_map);
or :
undo_clear_data(&string_map);
void undo_clear_data(void *data)
{
data->clear();
}
在undo_clear_data函数中,我们需要知道它是什么确切的映射,并将其称为clear函数。对执行有何建议
当然不是这个:
void undo_clear_data(void *data)
{
data->clear();
}
使用void*
进行类型擦除应该是最后的手段。您不能对void*
调用clear
。void
没有可以调用的方法(它甚至不是类型,而是表示缺少类型)。
正如注释中所建议的,您可以将函数设置为模板(我更改了名称,因为undo_clear_data
将意味着clear
被撤消,这与调用clear
)相反):
template <typename T>
void clear_data(T& t) {
t.clear();
}
在undo_clear_data函数中,我们需要知道它是什么确切的映射
在函数内部,映射的类型是T
,您通过TypeNameT::Value_Type
获得值类型。
我在这里准备了一个简单的道场:http://dojo.telerik.com/iQERE 脚本: 我在另一个数组中有一个数组,我想用剑道模板以表格/网格的形式呈现它。第一个数组的项是行,内部数组的项是列。 我在谷歌上搜索并发现了这种技术:模板中的模板 问题是: 1) 如何绑定嵌套数组项的值? 我尝试,但它不起作用。 我认为,因为使用这种技术,这个模板的“真实数据”是外部数组,而不是内部数组! 尝试
问题内容: 表: 有了答案,我在这里得到了利用$ compile的这种方式 现在,当单击按钮时,我什至调用一个模态,并命令对象使用ng-model 感谢您的帮助,它运作良好。 问题答案: 编辑 :添加了用于演示 $ compile 用法的代码段 在html中,只有一个用于初始化应用程序的标签和一个用于初始化控制器的div。 在controller中,两个链接被创建为简单字符串,但分别具有两个,然后
本文向大家介绍C ++ STL中的多集clear()函数,包括了C ++ STL中的多集clear()函数的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将讨论C ++ STL中multiset::clear()函数的工作原理,语法和示例。 什么是C ++ STL中的多重集? 多重集是类似于集合容器的容器,这意味着它们以键的形式(类似于集合)以特定顺序存储值。 在多集合中,将值标识为与集合
我试图编写一个通用的obj工厂,使用可变模板调用各种类的构造函数。代码如下: 在大多数例子中,变量arg总是这样写“Args” 错误:没有可行的转换从'__bind( 在移除“ 但我不知道为什么?
问题内容: 给定一个功能: 您可以用两种方式来称呼它: 第一个返回30,第二个返回一个对象。 您如何检测 在函数本身内部 调用 该函数的方式 ? 无论您采用哪种解决方案,它都必须与以下调用一起使用: 当前所有解决方案都认为将该方法称为构造函数。 问题答案: 我认为[ES2015之前]您想要的东西是不可能的。函数内根本没有足够的信息来进行可靠的推断。 查看ECMAScript 3rd Edition
多个表单如何共用一个函数,希望不更改每个id名。请问可以实现吗?
我想具体化一个函数,我只有写好像不对 这样写好像不对
本文向大家介绍C++函数模板与类模板实例解析,包括了C++函数模板与类模板实例解析的使用技巧和注意事项,需要的朋友参考一下 本文针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解。具体内容如下: 泛型编程(Generic Programming)是一种编程范式,通过将类型参数化来实现在同一份代码上操作多种数据类型,泛型是一般化并可重复使用的意思。泛