ArrayCompare

この関数は 2 つの同型の配列を比較した結果を返します。基本データ型 または 複合型オブジェクトを使用しないカスタム構造体、つまり文字列型動的配列、クラスや他の複合オブジェクトで出来た構造体を含まないカスタム構造体です。

int  ArrayCompare(
  const void&  array1[],            // 1番目の配列
  const void&  array2[],            // 2 番目の配列
  int          start1=0,            // 1番目の配列の初期オフセット
  int          start2=0,            // 2 番目の配列の初期オフセット
  int         count=WHOLE_ARRAY   // 比較される要素の数
  );

パラメータ

array1[]

[in]  1番目の配列

array2[]

[in]  2 番目の配列

start1=0

[in]  比較開始点となる、1番目の配列内の要素の初期インデックス。デフォルトの開始インデックスは0です。

start2=0

[in]  比較開始点となる、2 番目の配列内の要素の初期インデックス。デフォルトの開始インデックスは0です。

count=WHOLE_ARRAY

[in]  比較される要素の数デフォルトでは両方の配列の全ての要素が比較されます(count=WHOLE_ARRAY)。

戻り値

  • -1( array1[] が array2[] より小さい)
  • 0( array1[] とarray2[] が等しい)
  • 1( array1[] が array2[] より大きい)
  • -2(両配列の型の非互換性や start1、start2 または count 値が配列の範囲外にあることによってエラーが発生)

注意事項

配列のサイズが異なり、いずれかの配列がもう 1 つの配列の忠実なサブセットであって、かつ count= WHOLE_ARRAY である場合、0 が返されず、両配列は等しいとみなされません。この場合、両配列のサイズ比較による戻り値は、array1[] のサイズが array2[] のサイズより小さい場合は -1 でそれ以外は1になります。