跳到主要内容

std::vector clear() 方法

// Non const version only
constexpr void clear() noexcept;

从容器中擦除所有元素。此调用后,size() 返回零。

保持 vector 的capacity() 不变。

注意

标准对容量变化的限制在 reserve() 的规范中。

失效

使指向所包含元素的任何引用指针迭代器失效。任何end()迭代器也失效。

参数

(无)

返回值

(无)

复杂度

与容器大小呈线性关系 - O(size())

示例

#include <algorithm>
#include <iostream>
#include <vector>

int main()
{
std::vector<int> container{1, 2, 3};

auto print = [](const int& n) { std::cout << " " << n; };

std::cout << "Before clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << ", Capacity=" << container.capacity() << '\n';

std::cout << "Clear\n";
container.clear();

std::cout << "After clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << ", Capacity=" << container.capacity() << '\n';
}
输出
Before clear: 1 2 3
Size=3, Capacity=3
Clear
After clear:
Size=0, Capacity=3
本文源自此 CppReference 页面。它可能为了改进或编辑者偏好而进行了修改。点击“编辑此页面”查看此文档的所有更改。
悬停查看原始许可证。

std::vector clear() 方法

// Non const version only
constexpr void clear() noexcept;

从容器中擦除所有元素。此调用后,size() 返回零。

保持 vector 的capacity() 不变。

注意

标准对容量变化的限制在 reserve() 的规范中。

失效

使指向所包含元素的任何引用指针迭代器失效。任何end()迭代器也失效。

参数

(无)

返回值

(无)

复杂度

与容器大小呈线性关系 - O(size())

示例

#include <algorithm>
#include <iostream>
#include <vector>

int main()
{
std::vector<int> container{1, 2, 3};

auto print = [](const int& n) { std::cout << " " << n; };

std::cout << "Before clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << ", Capacity=" << container.capacity() << '\n';

std::cout << "Clear\n";
container.clear();

std::cout << "After clear:";
std::for_each(container.begin(), container.end(), print);
std::cout << "\nSize=" << container.size() << ", Capacity=" << container.capacity() << '\n';
}
输出
Before clear: 1 2 3
Size=3, Capacity=3
Clear
After clear:
Size=0, Capacity=3
本文源自此 CppReference 页面。它可能为了改进或编辑者偏好而进行了修改。点击“编辑此页面”查看此文档的所有更改。
悬停查看原始许可证。