
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Set Library - set() Function
Description
The C++ constructor std::set::set() (Move Constructor) constructs the set container with the contents of other set using move semantics, i.e. constructs a set container that acquires the elements of x.
If alloc is not provided, then the allocator is obtained by move-construction from the allocator belonging to other.
Declaration
Following is the declaration for std::set::set() move constructor from std::set header.
C++11
set (set&& x); set (set&& x, const allocator_type& alloc);
C++14
set (set&& x); set (set&& x, const allocator_type& alloc);
Parameters
alloc − Input iterator to initial position.
x − Another set container object of the same type.
Return value
Constructor never returns any value.
Exceptions
This member function has no effect in case any exception is thrown.
Time complexity
Constant i.e. O(1), expcept if current set alloc is different from x's allocator
Example
The following example shows the usage of std::set::set() move constructor.
#include <iostream> #include <set> using namespace std; int main(void) { // Default constructor std::set<char> t_set; t_set.insert('x'); t_set.insert('y'); std::cout << "Size of set container t_set is : " << t_set.size(); // Move constructor std::set<char> t_set_new(std::move(t_set)); std::cout << "\nSize of new set container t_set_new is : " << t_set_new.size(); return 0; }
Let us compile and run the above program, this will produce the following result −
Size of set container t_set is : 2 Size of new set container t_set_new is : 2