我最近切换到C++ 11,我试图习惯那里的良好实践.我最终经常处理的是:
class Owner
{
private:
vector<unique_ptr<HeavyResource>> _vectorOfHeavyResources;
public:
virtual const vector<const HeavyResource*>* GetVectorOfResources() const;
};
Run Code Online (Sandbox Code Playgroud)
这需要我做一些事情,比如添加一个_returnableVector并翻译源向量以便以后能够返回它:
_returnableVector = vector<HeavyResource*>;
for (int i=0; i< _vectorOfHeavyResources.size(); i++)
{
_returnableVector.push_back(_vectorOfHeavyResources[i].get());
}
Run Code Online (Sandbox Code Playgroud)
有人注意到类似的问题吗?您有什么想法和解决方案?我是否在这里获得了所有的所有权想法?
更新:还有另外一件事:如果一个类返回某些处理的结果vector<unique_ptr<HeavyResource>>(它将结果的所有权传递给调用者)会怎样,并且它应该用于某些后续处理:
vector<unique_ptr<HeavyResource>> partialResult = _processor1.Process();
// translation
auto result = _processor2.Process(translatedPartialResult); // the argument of process is vector<const HeavyResource*>
Run Code Online (Sandbox Code Playgroud) 我目前正在研究无损JPEG文件(不是JPEG-LS).很难找到任何文件来测试我的应用程序.
特别是我需要包含重置间隔标记,多个DC霍夫曼表,多个场景或注释标记的文件.
你知道我在哪里可以找到任何无损JPEG文件吗?你自己有没有可以分享的东西?
在此先感谢,Witek.
编辑:我还可以使用该压缩标准采用DICOM文件(标签(0002,0010)传输语法UID = 1.2.840.10008.1.2.4.70)