C++ Array::operator==() 函数



C++ 的operator==()函数用于比较两个数组对象是否相等。它检查数组是否具有相同的大小,以及所有对应元素是否相等。如果两个条件都满足,则此函数返回 true,否则返回 false。

语法

以下是 std::array::operator==() 函数的语法。

bool operator== ( const array<T,N>& lhs, const array<T,N>& rhs );

参数

  • lhs, rhs − 表示数组容器。

返回值

如果数组容器相同,则返回 true,否则返回 false。

异常

此函数从不抛出异常。

时间复杂度

线性,即 O(n)

示例 1

在下面的示例中,我们将考虑 operator==() 函数的基本用法。

#include <iostream>
#include <array>
int main() {
   std::array < int, 3 > x = {11,22,33};
   std::array < int, 3 > y = {11,22,33};
   if (x == y) {
      std::cout << "Arrays are equal." << std::endl;
   } else {
      std::cout << "Arrays are not equal." << std::endl;
   }
   return 0;
}

输出

以上代码的输出如下:

Arrays are equal.

示例 2

考虑以下示例,我们将比较两个具有不同值的数组。

#include <iostream>
#include <array>
int main() {
   std::array < int, 3 > a = {11,22,33};
   std::array < int, 3 > b = {66,88,22};
   if (a == b) {
      std::cout << "Arrays are equal" << std::endl;
   } else {
      std::cout << "Arrays are not equal" << std::endl;
   }
   return 0;
}

输出

以上代码的输出如下:

Arrays are not equal

示例 3

让我们看一下下面的示例,我们将比较不同大小的数组并观察输出。

#include <iostream>
#include <array>
int main() {
   std::array < int, 2 > x = {1,2};
   std::array < int, 3 > y = {2,3,4};
   if (x == y) {
      std::cout << "Arrays are equal" << std::endl;
   } else {
      std::cout << "Arrays are not equal" << std::endl;
   }
   return 0;
}

输出

如果我们运行以上代码,它将生成以下输出:

main.cpp: In function 'int main()':
main.cpp:6:11: error: no match for 'operator==' (operand types are 'std::array<int, 2>' and 'std::array<int, 3>')
array.htm
广告
© . All rights reserved.