std::vector<T,Allocator>::reserve voidreserve(size_type new_cap); (C++20 起为constexpr) 增加vector的容量(即vector在不重新分配存储的情况下能最多能持有的元素的数量)到大于或等于new_cap的值。如果new_cap大于当前的capacity(),那么就会分配新存储,否则该方法不做任何事。
push_back(n); } std::cout << "not using reserve: \n"; { std::vector<int, NAlloc<int>> v1; for (int n = 0; n < max_elements; ++n) { if (v1.size() == v1.capacity()) std::cout << "size() == capacity() == " << v1.size() << '\n'; v1.push_back(n);...
swap、std::swapend() clear、operator=、assign始终 reserve、shrink_to_fitvector 更改容量时全部失效。否则不失效。 erase被擦除元素及之后的所有元素(包括end())。 push_back、emplace_backvector 更改容量时全部失效。否则只有end()。 insert、emplacevector 更改容量时全部失效。否则只有在或于插入点后者(包括...
__cpp_lib_ranges_reserve_hint202502L(C++26)ranges::approximately_sized_range,ranges::reserve_hint, and changes tostd::vector Example Run this code #include <iostream>#include <vector>intmain(){// Create a vector containing integersstd::vector<int>v={8,4,5,9};// Add two more integers ...
vector::rbeginvector::crbegin (C++11) vector::rendvector::crend (C++11) vector::empty vector::size vector::max_size vector::reserve vector::capacity vector::shrink_to_fit (DR*) vector::clear vector::insert vector::emplace (C++11)
std::vector<T,Allocator>::vector (1) vector():vector(Allocator()){} (C++11 起) (C++17 前) vector()noexcept(noexcept(Allocator())):vector(Allocator()){} (C++17 起) (C++20 起为constexpr) (2) explicitvector(constAllocator&alloc=Allocator()); ...
vector::reserve vector::capacity Modifiers vector::clear vector::insert vector::emplace (C++11) vector::erase vector::push_back vector::emplace_back (C++11) vector::pop_back vector::resize vector::swap std::vector<bool> specific vector<bool>::flip vector<bool>::swap Non-member functions...
检查容器是否为空 (std::vector<T,Allocator> 的公开成员函数) size 返回元素数 (std::vector<T,Allocator> 的公开成员函数) max_size 返回可容纳的最大元素数 (std::vector<T,Allocator> 的公开成员函数) reserve 预留存储空间 (std::vector<T,Allocator> 的公开成员函数) capacity 返回当前存储...
vector::rbeginvector::crbegin (C++11) vector::rendvector::crend (C++11) vector::empty vector::size vector::max_size vector::reserve vector::capacity vector::shrink_to_fit (DR*) vector::clear vector::insert vector::emplace (C++11)