增加vector 的容量(即 vector 在不重新分配存储的情况下能最多能持有的元素的数量)到大于或等于 new_cap 的值。如果 new_cap 大于当前的 capacity(),那么就会分配新存储,否则该方法不做任何事。 reserve() 不会更改 vector 的大小。 如果new_cap 大于capacity(),那么指代元素的所有迭代器(包括 end() 迭代...
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);...
__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 ...
__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 ...
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::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)
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...
如果发生了重分配,那么与结果 vector 的元素数量成线性;否则,与所插入元素数量加上到 end() 的距离成线性。 如果满足以下任一条件,那么最多只会进行一次重分配: R 实现了 approximately_sized_range,并且 ranges::distance(rg) <= ranges::reserve_hint(rg) 是true。 R 实现了 forward_range 且R 未实现...
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)
C++ 容器库 std::vector size_type capacity() const; (C++11 前) size_type capacity() const noexcept; (C++11 起) 返回容器当前已为之分配空间的元素数。 参数(无) 返回值当前分配存储的容量。 复杂度常数。 参阅size 返回容纳的元素数 (公开成员函数) reserve 预留存储空间 (公开成员函数) ...