c++中如何指向数组最后一位
时间: 2024-04-11 08:27:17 浏览: 334
数组的指针和指向数组的指针变量-C++面向对象程序设计
在 C++ 中,可以通过指针或迭代器来指向数组的最后一位。下面是两种常见的方法:
方法一:使用指针
```cpp
int arr[] = {1, 2, 3, 4, 5};
int* ptr = &arr[sizeof(arr) / sizeof(arr[0]) - 1];
```
这里,`sizeof(arr) / sizeof(arr[0])` 计算出数组 `arr` 的元素个数,然后减去 1,`&arr[...]` 取得数组中最后一位元素的地址,并将其赋值给指针 `ptr`。
方法二:使用迭代器
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.end() - 1;
// 或者使用 reverse_iterator
// auto it = vec.rbegin();
std::cout << *it << std::endl; // 输出最后一位元素的值
return 0;
}
```
在这个例子中,我们使用了标准库中的 `vector` 容器。通过 `vec.end() - 1` 可以得到指向最后一位元素的迭代器。你还可以使用 `reverse_iterator` 来反向遍历容器,此时 `it` 指向最后一位元素。
无论是使用指针还是迭代器,都可以通过解引用操作符 `*` 来获取指向数组最后一位的值。
阅读全文