📜  C ++中STL数组上的关系运算符(1)

📅  最后修改于: 2023-12-03 14:59:37.001000             🧑  作者: Mango

C++中STL数组上的关系运算符

在C++标准模板库(STL)中的数组类模板std::array中,提供了一系列的关系运算符,用于比较两个数组的大小关系。

std::array是C++11引入的一个模板类,它是一个固定大小、连续存储的数组容器,提供了与C风格数组类似的访问方式,同时还提供了一些和其他STL容器一致的功能。

本文将介绍std::array的关系运算符以及其用法。

关系运算符

std::array中,有以下几个关系运算符可以使用:

  1. ==:判断两个数组是否相等。
  2. !=:判断两个数组是否不相等。
  3. <:判断一个数组是否小于另一个数组。
  4. >:判断一个数组是否大于另一个数组。
  5. <=:判断一个数组是否小于等于另一个数组。
  6. >=:判断一个数组是否大于等于另一个数组。

这些关系运算符可以用来比较两个std::array对象的大小关系,返回一个布尔值表示比较结果。

示例

下面是一个使用std::array关系运算符的示例代码:

#include <iostream>
#include <array>

int main() {
   std::array<int, 5> arr1 = {1, 2, 3, 4, 5};
   std::array<int, 5> arr2 = {1, 2, 3, 4, 5};
   std::array<int, 5> arr3 = {5, 4, 3, 2, 1};

   if (arr1 == arr2) {
      std::cout << "arr1 is equal to arr2" << std::endl;
   }

   if (arr1 != arr3) {
      std::cout << "arr1 is not equal to arr3" << std::endl;
   }

   if (arr1 < arr3) {
      std::cout << "arr1 is less than arr3" << std::endl;
   }

   if (arr3 > arr1) {
      std::cout << "arr3 is greater than arr1" << std::endl;
   }

   if (arr1 <= arr2) {
      std::cout << "arr1 is less than or equal to arr2" << std::endl;
   }

   if (arr3 >= arr1) {
      std::cout << "arr3 is greater than or equal to arr1" << std::endl;
   }

   return 0;
}

在上面的示例中,我们创建了三个std::array对象arr1arr2arr3,然后用不同的方式进行比较运算。根据关系运算符的结果,输出相应的提示信息。

值得注意的是,比较的两个数组的大小必须相同,即它们的大小模板参数必须相等。否则,编译器将出现错误。

结论

通过使用C++中STL数组上的关系运算符,我们可以比较两个std::array对象的大小关系,从而进行判断和控制程序的流程。这些运算符可以方便地使用,使得代码更加简洁、易读。

希望本文能为程序员在使用STL数组上的关系运算符时提供一些帮助和指导。