在C++中如何比较两个常量数组是否相等

1949idc 2年前 (2024-09-19) 阅读数 296 #编程语言

在 C++ 中,要比较两个常量数组是否相等,你可以使用 std::equal 函数

#include<iostream>
#include<algorithm> // for std::equal

template<typename T, size_t N> bool compareArrays(const T (&arr1)[N], const T (&arr2)[N]) {
    return std::equal(arr1, arr1 + N, arr2);
}

int main() {
    const int arr1[] = {1, 2, 3, 4, 5};
    const int arr2[] = {1, 2, 3, 4, 5};
    const int arr3[] = {1, 2, 3, 7, 5};

    if (compareArrays(arr1, arr2)) {
        std::cout << "arr1 and arr2 are equal."<< std::endl;
    } else {
        std::cout << "arr1 and arr2 are not equal."<< std::endl;
    }

    if (compareArrays(arr1, arr3)) {
        std::cout << "arr1 and arr3 are equal."<< std::endl;
    } else {
        std::cout << "arr1 and arr3 are not equal."<< std::endl;
    }

    return 0;
}

这个示例中的 compareArrays 函数接受两个大小相同的常量数组,并使用 std::equal 来比较它们。std::equal 会逐个元素地比较两个数组,如果所有元素都相等,则返回 true,否则返回 false

注意:在使用此方法时,请确保两个数组的大小相同。如果数组大小不同,编译器将无法推断出数组的大小,从而导致编译错误。

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业