使用memcpy从数组中复制一系列元素 [英] Using memcpy to copy a range of elements from an array

查看:1070
本文介绍了使用memcpy从数组中复制一系列元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我们有两个数组:

  double * matrix = new double [100] 
double * array = new double [10];

我们要使用memcpy将10个元素从矩阵[80:89]复制到数组。 p>

任何快速解决方案?
感谢

解决方案

使用 std :: copy

  std :: copy(matrix + 80,matrix + 90, 

这更干净,因为你只需要指定要复制的元素范围,字节。此外,它适用于所有可以复制的类型,而不仅仅是POD类型。


Say we have two arrays:

double *matrix=new double[100];
double *array=new double[10];

And we want to copy 10 elements from matrix[80:89] to array using memcpy.

Any quick solutions? Thanks

解决方案

It's simpler to use std::copy:

std::copy(matrix + 80, matrix + 90, array);

This is cleaner because you only have to specify the range of elements to be copied, not the number of bytes. In addition, it works for all types that can be copied, not just POD types.

这篇关于使用memcpy从数组中复制一系列元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆