फ़ंक्शन operator= का उपयोग सेट में एक सेट को दूसरे में कॉपी (या C++ STL में मूव) करने के लिए किया जाता है। यह सेट के लिए एक सामान्य '=' असाइनमेंट ऑपरेशन की तरह व्यवहार करता है। इसके तीन ओवरलोडेड रूप हैं -
कॉपी :- set& operator= (const set& s1) -
यह फ़ंक्शन सेट s1 के सभी तत्वों को दूसरे सेट में कॉपी करता है। पास किया गया पैरामीटर उसी प्रकार का सेट होता है।
उपयोग - set s1=s2;
मूव :- set& operator=( set &&s1 ) -
यह सेट s1 के तत्वों को कॉलिंग सेट में मूव करता है।
इनिशियलाइज़र सूची :- set& operator= (initializer_list<value_type> ilist) -
यह संस्करण इनिशियलाइज़र सूची ilist के मानों को कॉलिंग सेट में कॉपी करता है।
उपयोग - set<int> s1= { 1,2,3,4,5 };
नोट - ये सभी सेट<T> प्रकार के इस पॉइंटर का संदर्भ लौटाते हैं।
निम्नलिखित प्रोग्राम C++ प्रोग्राम में round फ़ंक्शन के उपयोग को प्रदर्शित करने के लिए उपयोग किया जाता है -
उदाहरण
#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<<"set1 :"; for (auto s = set1.begin(); s != set1.end(); ++s) { cout << *s << " "; } cout << endl; cout<<"set2 :"; for (auto s = set2.begin(); s != set2.end(); ++s) { cout << *s << " "; } // set1 को set2 में कॉपी करने के बाद cout<<endl<<"कॉपी के बाद"<<endl; cout<<"set1 :"; set1=set2; for (auto s = set1.begin(); s != set1.end(); ++s) { cout << *s << " "; } return 0; }
आउटपुट
set1 :1 2 3 4 5 set2 :10 11 12 13 कॉपी के बाद set1 :10 11 12 13