C++ STL-এ set-এর জন্য operator= তিনটি ওভারলোডেড রূপে থাকে:
- Copy assignment:
set& operator=(const set& s1)— অন্য সেটের সব উপাদান কপি করে। ব্যবহার:s1 = s2; - Move assignment:
set& operator=(set&& s1)— সেটের উপাদানগুলো মুভ করে। - Initializer list assignment:
set& operator=(initializer_list<value_type> ilist)— ইনিশিয়ালাইজার লিস্ট থেকে উপাদান কপি করে। ব্যবহার:set<int> s1 = {1,2,3,4,5};
সবগুলো রেফারেন্স রিটার্ন করে।
উদাহরণ: কপি অ্যাসাইনমেন্ট
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> set1, set2;
set1 = { 1, 2, 3, 4, 5 };
set2 = { 10, 11, 12, 13 };
cout << "Before copy:\nset1: ";
for (auto s : set1) cout << s << " ";
cout << "\nset2: ";
for (auto s : set2) cout << s << " ";
set1 = set2; // copy assignment
cout << "\n\nAfter copy:\nset1: ";
for (auto s : set1) cout << s << " ";
return 0;
}
আউটপুট:
set1 : 1 2 3 4 5 set2 : 10 11 12 13 After Copy set1 : 10 11 12 13