在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
来判断插入是否成功。如果插入成功,我们遍历集合并打印其内容。