c+中没有2D图像容器+; 在C++ STD库中,为什么没有标准图像(2D?3D?)?虽然经常使用,但这种容器还没有出现,但是有成千上万种不同的实现方式

c+中没有2D图像容器+; 在C++ STD库中,为什么没有标准图像(2D?3D?)?虽然经常使用,但这种容器还没有出现,但是有成千上万种不同的实现方式,c++,C++,Stroustrup,你在哪里?std::valarray类+std::gslice可用于管理二维、三维。。。ND矩阵 请参阅链接中的一些示例 如果您的意图是图像处理,请参考特定的专用库(jpeg、png……。“图像”是一个模糊的术语。24位RGB图像?3D表示灰度中的体素(类似于密度)。如果需要模板类,为什么不使用vector?如果您想编写特定的格式,比如PNG,我认为标准库不应该这样做。你能描述容器应该做什么,折叠的 STD::向量< /代码>不能?标准C++库中有很多。随便你选。Val

Stroustrup,你在哪里?

std::valarray类+std::gslice可用于管理二维、三维。。。ND矩阵

请参阅链接中的一些示例


如果您的意图是图像处理,请参考特定的专用库(jpeg、png……。

“图像”是一个模糊的术语。24位RGB图像?3D表示灰度中的体素(类似于密度)。如果需要模板类,为什么不使用
vector
?如果您想编写特定的格式,比如PNG,我认为标准库不应该这样做。你能描述容器应该做什么,折叠的<代码> STD::向量< /代码>不能?标准C++库中有很多。随便你选。Valarray很不错,但不是2d数组表示。我的问题是,为什么std语言中没有严格意义上的Nd容器通常和内部Nd数组的实现都是1D数组,带有计算偏移量的索引过程。因此std::valarray+std::gslice足以管理一个简单的ND数组。对于更复杂的ND数组实现,最好搜索专门的数字libs。通常,ND矩阵的高级实现有点复杂,专门用于特定应用。