我正在将我的仿函数实现转换为std::tr1::function
(原因是在我的实现中,我们需要为每个函数类型预定义类型和仿函数类,我想扩展它以使用任何函数)。
我有
int param = 1;
std::tr1::bind (&MyClass::func, param);
我想把它添加到一些常见的容器中
someContainer.insert (std::tr1::bind (&MyClass::func, param));
那么,如何声明容器,它必须是什么类型才能接受任何类型的函数?有可能吗?
第二个问题——如何调用容器中的函数,像这样:
someContainer.begin().invoke();
PS也许还有另一种解决方案,我对这个话题还不够了解。将感谢您的回答。
我处理 GNU C++98。