一、pop_back()异常
pop_back()
是 C++ 中 vector
容器中的一个函数,用于删除 vector
容器中的最后一个元素,并将容器的大小减小一个。但是在使用 pop_back()
函数时,我们需要注意一些可能会出现的异常。
1、如果 vector
容器为空,即没有元素,那么 pop_back()
函数会抛出 std::out_of_range
异常。
try {
myvec.pop_back();
} catch (std::out_of_range& e) {
std::cout << "pop_back()失败,vector容器为空。" << std::endl;
}
2、当 vector
容器使用了自定义的 Allocator
时,pop_back()
函数可能会抛出对应的异常。
std::vector<int, myallocator> myvec2;
try {
myvec2.pop_back();
} catch(std::exception& e) {
std::cout << "pop_back()失败:" << e.what() << std::endl;
}
二、pop_back()函数写法
pop_back()
函数的基本语法如下:
void pop_back();
pop_back()
函数没有任何参数,因为它总是删除 vector
容器中的最后一个元素。下面是使用 pop_back()
函数删除 vector
容器中最后一个元素的示例:
std::vector<int> myvec {1, 2, 3, 4, 5};
myvec.pop_back();
std::cout << "删除最后一个元素后的vector容器:" << std::endl;
for (auto it=myvec.begin(); it != myvec.end(); ++it)
std::cout << *it << ", ";
std::cout << std::endl;
输出结果:
删除最后一个元素后的vector容器:
1, 2, 3, 4,
三、push_back()函数
pop_back()
函数和 push_back()
函数是 vector
容器中最常用的两个函数。push_back()
函数用于在 vector
容器的最后一个位置插入新元素。
push_back()
函数的基本语法如下:
void push_back(const T& x);
void push_back(T&& x);
其中,T
表示 vector
容器内的数据类型。push_back()
函数的参数可以是一个左值或者右值。
下面是使用 push_back()
函数向 vector
容器中添加元素的示例:
std::vector<std::string> mystrings;
mystrings.push_back("hello");
mystrings.push_back("world");
std::cout << "vector容器中的字符串元素:" << std::endl;
for (auto it=mystrings.begin(); it != mystrings.end(); ++it)
std::cout << *it << ", ";
std::cout << std::endl;
输出结果:
vector容器中的字符串元素:
hello, world,
四、back()函数
back()
函数用于查看容器中的最后一个元素,通常与 pop_back()
函数配合使用。
back()
函数的基本语法如下:
T& back();
const T& back() const;
其中,T
表示 vector
容器内的数据类型。
下面是使用 back()
函数查看 vector
容器中的最后一个元素的示例:
std::vector<std::string> mystrings2 {"hello", "world"};
std::cout << "vector容器中的最后一个元素:" << mystrings2.back() << std::endl;
输出结果:
vector容器中的最后一个元素:world