我有一个模板看起来像这样:传递一个函数来获取返回值或值
struct add_node_value_visitor : boost::static_visitor<>
{
add_node_value_visitor(){}
template <typename T>
void operator() (const T& value) const
{
boost::lexical_cast<std::string, T>(value);
}
};
我的问题是,访问者是内部使用一个循环迭代在一堆价值观,结果字符串的值需要是一个字符串,目前这将产生一堆单独的字符串,这不是我想要的,所以为了解决这个问题我想我会添加一个函数指针到这个结构的ctor,以便我可以传入一个函数来连接每个循环迭代的结果字符串并创建一个字符串。那么如果我想用这个结构,我不需要串联,我仍然可以这样做。问题是我应该使用函数指针还是可以用boost :: lambda之类的东西来做到这一点?
或者boost :: function会更容易使用吗?
我的问题难以理解或者没有人知道吗? – 2010-12-09 09:09:22
在某些地方很早...在这个时候,美国人仍然会睡觉,欧洲的一些人(像我一样)仍然会爬上一杯咖啡醒来。时间喝咖啡! – 2010-12-09 09:21:51