跳至内容

ArrayCompare

ArrayCompare

该函数用于比较两个相同类型的数组。它可以用来比较简单类型的数组或自定义结构,而不包括复杂对象,即不包含字符串动态数组、类以及其他包含复杂结构的自定义结构。

int  ArrayCompare(
   const void&  array1[],            // first array
   const void&  array2[],            // second array
   int          start1=0,            // initial offset in the first array
   int          start2=0,            // initial offset in the second array
   int          count=WHOLE_ARRAY    // number of elements for comparison
   );

参数

array1[]

[in] 第一个数组。

array2[]

[in] 第二个数组。

start1=0

[in] 第一个数组中元素的起始索引,比较从此索引开始。默认起始索引为0。

start2=0

[in] 第二个数组中元素的起始索引,比较从此索引开始。默认起始索引为0。

count=WHOLE_ARRAY

[in] 要比较的元素数量。默认情况下,两个数组的所有元素都参与比较(count=WHOLE_ARRAY)。

返回值

  • -1,如果array1[]小于array2[];
  • 0,如果array1[]等于array2[];
  • 1,如果array1[]大于array2[];
  • -2,如果出现比较数组类型不兼容或start1、start2或count值导致超出数组范围的错误。

注意

如果数组在大小上不同,且count=WHOLE_ARRAY,而其中一个数组是另一个数组的忠实子集,函数将不会返回0(数组不会被认为相等)。在这种情况下,将返回比较大小的结果:-1,如果array1[]的大小小于array2[]的大小,否则为1。

最后更新于