C++验证数组是个整数数组
时间: 2024-10-20 14:17:45 浏览: 21
在C++中,验证数组是否只包含整数可以使用模板和迭代器结合来做。这里有一个简单的例子:
```cpp
#include <iostream>
#include <vector>
#include <type_traits>
bool isIntegerArray(const std::vector<int>& arr) {
using IntType = int;
return std::all_of(arr.begin(), arr.end(),
[](const auto& element) { return std::is_same_v<IntType, decltype(element)>; });
}
int main() {
std::vector<int> intArray = {1, 2, 3, 4, 5};
std::vector<double> doubleArray = {1.0, 2.0, 3.0};
std::cout << "Is intArray an integer array? " << (isIntegerArray(intArray) ? "Yes" : "No") << "\n";
std::cout << "Is doubleArray an integer array? " << (isIntegerArray(doubleArray) ? "Yes" : "No") << "\n";
return 0;
}
```
这个`isIntegerArray`函数通过`std::all_of`和`std::is_same_v`检查数组中的所有元素是否都具有相同的类型(在这个例子中就是`int`)。如果所有元素都是`int`,则返回`true`,否则返回`false`。
阅读全文