0
0
CppHow-ToBeginner · 3 min read

How to Insert Elements into a Set in C++

In C++, you insert elements into a std::set using the insert() method. This method adds the element if it is not already present, maintaining the set's sorted order and uniqueness.
📐

Syntax

The basic syntax to insert an element into a std::set is:

  • set_variable.insert(value); - Inserts value into the set.
  • The method returns a pair: an iterator to the element and a boolean indicating if insertion happened.
cpp
std::set<int> mySet;
mySet.insert(10);
💻

Example

This example shows how to insert elements into a std::set and how duplicates are ignored automatically.

cpp
#include <iostream>
#include <set>

int main() {
    std::set<int> numbers;

    numbers.insert(5);
    numbers.insert(3);
    numbers.insert(8);
    numbers.insert(5); // Duplicate, will not be added

    for (int num : numbers) {
        std::cout << num << " ";
    }
    return 0;
}
Output
3 5 8
⚠️

Common Pitfalls

Common mistakes when inserting into a std::set include:

  • Expecting duplicates to be added (sets only keep unique elements).
  • Not checking the return value of insert() if you need to know whether insertion happened.
  • Trying to insert elements of incompatible types.
cpp
#include <set>
#include <iostream>

int main() {
    std::set<int> s;

    auto result = s.insert(10);
    if (result.second) {
        std::cout << "Inserted 10 successfully.\n";
    } else {
        std::cout << "10 was already in the set.\n";
    }

    // Wrong: inserting a string into a set of ints (will cause compile error)
    // s.insert("hello");

    return 0;
}
Output
Inserted 10 successfully.
📊

Quick Reference

Summary tips for inserting into std::set:

  • Use insert(value) to add elements.
  • Insertion keeps elements sorted and unique.
  • Check the returned pair to know if insertion succeeded.
  • Only insert compatible types matching the set's template.

Key Takeaways

Use std::set's insert() method to add elements while keeping them unique and sorted.
The insert() method returns a pair indicating if the element was newly added or already existed.
Duplicates are automatically ignored by std::set, so no manual checks are needed.
Ensure the inserted element type matches the set's declared type to avoid errors.