我很喜欢使用boost的object_pool类来为一组视频帧重用内存。boost object_pool构造方法
boost::object_pool<VideoFrame> FramePool;
现在,VideoFrame类有两个构造函数。构造函数的第一个版本需要4个参数,而第二个版本需要6个参数/参数。
对于分配的每个“新”视频帧,我想使用4或6参数版本调用该对象上的构造函数。例如:
//VideoFrame *F = new VideoFrame(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
VideoFrame *F = FramePool.construct(IdeckLinkOutput, &R, PixelFormat, FrameFlags);
2005年MSVS建设这个,我收到错误:
error C2660: 'boost::object_pool<T>::construct' : function does not take 4 arguments
据对object_pool的“构造”方法的文档“的ElementType必须有一个构造函数匹配? ?;给定的参数数量不能超过通过pool_construct支持的参数“
我已经见过pool_construct的boost页面,但我不太确定我需要采取的方向。我在我的机器上构建的boost具有pool_construct.m4,pool_construct.sh,pool_construct.bat和pool_construct.inc。这是我在自己的项目中对这些示例文件做什么的问题?我是否会创建自己的pool_construct.inc变体并将其包含在我自己的项目中?我将如何添加文件?
任何提示/建议将不胜感激。请注意我已经安装了gnu的m4。
zerodefect。
很酷...谢谢你。 – ZeroDefect 2010-06-03 09:57:20