温馨提示×

c++中set的插入操作是否返回值

c++
小樊
87
2024-11-24 12:54:50
栏目: 编程语言

在C++中,std::set的插入操作不返回值,而是返回一个std::pair对象,其中包含一个布尔值和一个指向集合中元素的迭代器。布尔值表示插入是否成功,如果插入成功,则布尔值为true,否则为false。迭代器指向集合中插入的元素(如果插入成功)。

下面是一个示例:

#include <iostream>
#include <set>

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

    // 插入元素4
    auto result = my_set.insert(4);

    // 检查插入是否成功
    if (result.first) {
        std::cout << "Element 4 inserted successfully. The set now contains: ";
        for (const auto& elem : my_set) {
            std::cout << elem << " ";
        }
    } else {
        std::cout << "Element 4 already exists in the set." << std::endl;
    }

    return 0;
}

在这个示例中,我们尝试向my_set插入元素4。insert操作返回一个std::pair对象,我们可以通过检查result.first来判断插入是否成功。如果插入成功,我们遍历集合并打印其内容。

0