有什么简单的方法可以将uchar数组复制到double数组?

时间:2019-04-10 09:39:54

标签: c++ type-conversion

在uchar类型的数组中,我有一个简单的数组 [非矢量] ,数据范围在0-255之间。但是对于某些计算,我需要将数组复制到双精度型数组。

我可以循环执行此操作,然后逐个元素地将其复制。但是,看看是否有一些简单的过程可以通过某些函数或方法来做到这一点。

1 个答案:

答案 0 :(得分:2)

C++ algorithms可在任何类型的迭代器上使用,它们不限于特定的容器类型。

这样,您可以使用std::copy将值从一个迭代器范围复制到另一个迭代器范围,并在此过程中执行隐式类型转换:

uchar a[N];
double b[N];
// …
std::copy(std::begin(a), std::end(a), std::begin(b));
// or:
std::copy_n(std::begin(a), N, std::begin(b));

上面的代码使用C样式的数组,但是std::array当然也适用。