工作中,需要将一个float类型的数组整体copy到一个double类型的数组中。
很显然,memcpy是不行的,因为float和double占用的字节数不一样。
本来打算用for循环一个一个元素赋值,但这方法肯定特慢,效率差。
不死心,查一查,原来std::copy能够搞定这个问题。
举例说明:
double a[] = {1.618, 3.1416, 2.7, 0.707, 1.0}; float b[5]; std::copy(a, a + 5, b);
简单之极!指定a的起始位置和终止位置就行了。
任意两个不同类型的数组均可运用此方法实现数组的拷贝,简单易用