我需要以相反的方式复制一个长整型数组,我需要系统函数,例如 memcpy 有没有

I need to copy in reverse manner an array of longs I need a system function such as memcpy is there any?

本文关键字:数组 长整型 系统 例如 有没有 memcpy 一个 函数 方式 复制      更新时间:2023-10-16

我需要从头复制到一个长整型数组,如下面的代码所示。是否有任何类似于memcpy的功能用于所需目的?

typedef long int myT;
const size_t n=5;
myT a[n];
myT b[n]={12,45,56,76,78};
int main(int argc, char **argv)
{
    myT *p1=&a[0];
    myT *p2=&b[n];
    for(auto i=n;i-->0;) 
        *p1++=*--p2;
    return 0;
}
这就是

std::reverse_copy所做的。

int main()
{
  std::reverse_copy(b, b+n, a);
}

或自 C++11 起:

int main()
{
  std::reverse_copy(std::begin(b), std::end(b), std::begin(a));
}