gpt4 book ai didi

c++ - 用不同的模板参数包装模板类

转载 作者:行者123 更新时间:2023-11-28 03:04:03 24 4
gpt4 key购买 nike

我想编写一个线程池,在线程池中我有任务队列。每个任务都是一个具有不同结果类型的委托(delegate)。

我想在线程池队列中插入这个委托(delegate),但是因为每个委托(delegate)都有不同的模板参数,所以这是不可能的。

我想要一种方法,用不同的模板参数包装这个委托(delegate),这样我就可以将它们插入队列。

获取任务的线程池函数:

Queue<Delegate<?()>> workQueue; // Can't use specific type

template<typename R>
Task<R> doWork(Delegate<R(void)> del)
{
workQueue.pushBack(del); // Can't do this
}

或者像这样的伪代码:

Array{ Delegate<void(void)>, Delegate<int(void)>, Delegate<MyClass(void)> }

最佳答案

尝试使用 Boost Any 提升::任何

关于c++ - 用不同的模板参数包装模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20125475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com