在 C++ 中比较堆上数据的快捷方式
A shortcut to compare data on the heap in C++
考虑分配在堆上的两个数据数组:
int *A = new int[5];
int *B = new int[5];
// Some code which changes data pointed to by A and B
现在我想比较这两个数组(不是指针,而是A和B指向的数据)。也就是说,我想检查数组的元素是否相等。
有人可能会建议使用循环进行元素比较,但是由于 memcpy
等函数可以避免循环遍历数据来复制它,因此假设有一个类似的函数允许以避免循环遍历数组以进行逐元素比较。
C++
有任何快捷方式吗?
既然你提到了 memcpy
,那么还有 memcmp
。
这似乎是你想要的?
另见 Compare fast two memory regions。
考虑分配在堆上的两个数据数组:
int *A = new int[5];
int *B = new int[5];
// Some code which changes data pointed to by A and B
现在我想比较这两个数组(不是指针,而是A和B指向的数据)。也就是说,我想检查数组的元素是否相等。
有人可能会建议使用循环进行元素比较,但是由于 memcpy
等函数可以避免循环遍历数据来复制它,因此假设有一个类似的函数允许以避免循环遍历数组以进行逐元素比较。
C++
有任何快捷方式吗?
既然你提到了 memcpy
,那么还有 memcmp
。
这似乎是你想要的?
另见 Compare fast two memory regions。