C++得到数组元素个数
时间: 2024-10-10 18:05:31 浏览: 66
C++两个一维数组相加求和
在C++中,如果你有一个动态数组或是一维数组,你可以通过几种方式获取数组的元素个数:
1. **静态数组**: 如果数组是在定义时就确定大小,你可以直接查看数组名后的方括号内的数字,即`sizeof(array) / sizeof(array[0])`。例如:
```cpp
int arr[10]; // 数组有10个元素
size_t count = sizeof(arr) / sizeof(arr[0]);
```
2. **动态数组(如std::vector)**: 对于动态大小的容器如std::vector,你可以获取它的size()成员函数返回的值,它是容器能存储元素的数量:
```cpp
std::vector<int> vec;
size_t count = vec.size();
```
3. **C-style数组指针**: 如果数组是通过指针传递的,你可以检查指针到数组结尾的偏移量,减去数组类型占用的空间:
```cpp
int* ptr = array; // 假设array指向了数组首元素
size_t count = (ptr - reinterpret_cast<int*>(nullptr)) / sizeof(int);
```
注意这里的`reinterpret_cast<int*>(nullptr)`用于计算从空指针到整型地址的偏移。
阅读全文