在 C++ 中,如果你想获取 std::vector 容器的最后一个元素的地址,可以使用 std::vector 的成员函数 back() 来访问最后一个元素,然后使用地址运算符 & 来获取它的地址。
下面是一个例子,演示如何获取 std::vector 容器的最后一个元素的地址:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 获取最后一个元素的地址
int* lastElementAddress = &vec.back();
// 输出最后一个元素的地址和值
std::cout << "Address of last element: " << lastElementAddress << std::endl;
std::cout << "Value of last element: " << *lastElementAddress << std::endl;
return 0;
}
在这个例子中,vec.back() 返回对 vec 中最后一个元素的引用,&vec.back() 返回该元素的地址。
其他获取最后一个元素地址的方法
除了使用 back(),你还可以通过 std::vector 的迭代器来获取最后一个元素的地址。例如:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器获取最后一个元素的地址
int* lastElementAddress = &(*(vec.end() - 1));
// 输出最后一个元素的地址和值
std::cout << "Address of last element: " << lastElementAddress << std::endl;
std::cout << "Value of last element: " << *lastElementAddress << std::endl;
return 0;
}
在这个例子中,vec.end() 返回指向 vec 末尾(即最后一个元素之后一个位置)的迭代器,通过减去 1 可以得到指向最后一个元素的迭代器,然后使用解引用操作符 * 获取该迭代器指向的元素,并使用 & 获取它的地址。
这两种方法都能有效地获取 std::vector 最后一个元素的地址,具体选择哪种方法取决于你的个人偏好和具体情况。
1万+

被折叠的 条评论
为什么被折叠?



