在 C++ 中,std::set
是一個關聯容器,它包含一組唯一的對象。要修改 std::set
中的元素,您可以使用以下方法之一:
find()
函數查找元素,然后使用 erase()
函數刪除舊元素,最后使用 insert()
函數插入新元素。例如:#include <iostream>
#include <set>
int main() {
std::set<int> my_set = {1, 2, 3, 4, 5};
int value_to_find = 3;
int new_value = 6;
auto it = my_set.find(value_to_find);
if (it != my_set.end()) {
my_set.erase(it);
}
my_set.insert(new_value);
for (const auto& elem : my_set) {
std::cout << elem << " ";
}
return 0;
}
erase()
函數刪除舊元素,然后使用 insert()
函數插入新元素。例如:#include <iostream>
#include <set>
int main() {
std::set<int> my_set = {1, 2, 3, 4, 5};
int value_to_erase = 3;
int new_value = 6;
my_set.erase(value_to_erase);
my_set.insert(new_value);
for (const auto& elem : my_set) {
std::cout << elem << " ";
}
return 0;
}
請注意,這兩種方法都會保留 std::set
的排序和唯一性特性。如果您需要修改特定元素的值,而不是替換整個元素,您可能需要使用其他容器,如 std::map
或 std::unordered_map
。