温馨提示×

C++的set容器能修改元素值吗

c++
小樊
81
2024-11-28 04:07:31
栏目: 编程语言

C++ 的 std::set 容器不能直接修改元素值,因为它的元素是唯一的且按照升序排列。但是,你可以通过迭代器(iterator)来访问和修改 std::set 中的元素。

以下是一个示例,展示了如何使用迭代器在 std::set 中查找并修改元素值:

#include <iostream>
#include <set>

int main() {
    std::set<int> my_set = {1, 2, 3, 4, 5};

    // 使用迭代器查找元素
    auto it = my_set.find(3);
    if (it != my_set.end()) {
        // 修改元素值
        *it = 10;
    }

    // 输出修改后的集合
    for (const auto& elem : my_set) {
        std::cout << elem << " ";
    }

    return 0;
}

在这个示例中,我们首先创建了一个包含整数的 std::set。然后,我们使用 find 函数查找值为 3 的元素。如果找到了该元素,我们使用迭代器 it 解引用并修改其值。最后,我们遍历并输出修改后的集合。

0