如何存储字符串列表

How to store a list of strings

本文关键字:字符串 列表 存储 何存储      更新时间:2023-10-16

我想存储我将生成的字符串列表。我不知道字符串的数量,如果列表中有相同的字符串,我也不想存储它们。然后,我希望能够计算列表中的字符串数量。

谢谢!

> 将std::set用于容器,该容器会自动保持元素排序并仅允许不同的元素(无重复(,例如

std::set<std::string> s;
s.emplace("Arthur");
s.emplace("Barry");
s.emplace("Barry");
s.emplace("Barry");
s.emplace("Charlie");
std::cout << std::size(s) << std::endl; // Outputs '3'.

如果您需要快速访问并且很少更新容器,则不妨使用std::vector并在每次插入后删除任何重复项。

std::vector<std::string> v;
v.emplace_back("Arthur");
v.emplace_back("Barry");
v.emplace_back("Barry");
v.emplace_back("Barry");
v.emplace_back("Charlie");
std::sort(std::begin(v), std::end(v)); // Sort needed for 'std::unique' to always work.
v.erase(std::unique(std::begin(v), std::end(v)), std::end(v)); // Remove duplicates.
std::cout << std::size(v) << std::endl; // Outputs '3'.

不过,std::vector不会保持元素的排序。