在 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
。
注意:在使用此方法時,請確保兩個數組的大小相同。如果數組大小不同,編譯器將無法推斷出數組的大小,從而導致編譯錯誤。