Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में आउटपुट इटरेटर्स

यहां हम देखेंगे कि C++ में Output iterators क्या हैं। आउटपुट इटरेटर्स में कुछ गुण होते हैं। ये नीचे की तरह हैं:

  • आउटपुट इटरेटर्स का उपयोग कंटेनरों के मूल्य को संशोधित करने के लिए किया जाता है।
  • हम इस तरह के इटरेटर का उपयोग करके कंटेनर से डेटा नहीं पढ़ सकते हैं
  • यह वन-वे है और केवल इटरेटर लिखें
  • इसे बढ़ाया जा सकता है, लेकिन घटाया नहीं जा सकता।
  • आउटपुट इटरेटर्स के दो उप-भाग होते हैं। ये इन्सर्ट इटरेटर और ओस्ट्रीमिटरेटर हैं।

द इंसर्ट इटरेटर

कंटेनर के अंदर कुछ तत्व डालने के लिए इन्सर्ट इटरेटर का उपयोग किया जाता है। इस प्रकार के इटरेटर पर असाइनमेंटऑपरेटर वर्तमान स्थिति में नया तत्व सम्मिलित करता है। इंसर्टेटरेटर का सिंटैक्स नीचे जैसा है:

template<class Container, class Iterator>
insert_iterator<container> inserter(Container &x,Iterator it);

यह इटरेटर दो पैरामीटर लेता है, x और यह। एक्स कंटेनर है, जिस पर इटरेटर काम करेगा। दूसरा तर्क एक पुनरावृत्त वस्तु है, जो उस स्थिति को इंगित कर रहा है जिसे संशोधित किया जाना है।

उदाहरण कोड

#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;
int main () {
   vector<int> vec1,vec2;
   for (int i=1; i<=10; i++) { //insert elements into vectors
      vec1.push_back(i);
      vec2.push_back(i+3);
   }
   vector<int>::iterator it = vec1.begin(); //iterator works on vector1
   advance (it,5); //advance it to 5 position
   copy (vec2.begin(),vec2.end(),inserter(vec1,it));
   cout<<"Elements of vec1 are :";
   for ( it = vec1.begin(); it!= vec1.end(); ++it )
      cout << ' ' << *it;
      cout << endl;
   return 0;
}

आउटपुट

Elements of vec1 are : 1 2 3 4 5 4 5 6 7 8 9 10 11 12 13 6 7 8 9 10

ओस्ट्रीम इटरेटर

ostream iterator का उपयोग आउटपुट स्ट्रीम जैसे cout को लिखने के लिए किया जाता है। ostreamiterator को basic_ostream ऑब्जेक्ट का उपयोग करके बनाया जा सकता है। जब इस प्रकार के इटरेटर के साथ असाइनमेंट ऑपरेटर का उपयोग किया जाता है, तो यह आउटपुट स्ट्रीम में नया तत्व सम्मिलित करता है। सिंटैक्स नीचे जैसा है।

template<class T, class charT=char, class traits=char_traits<charT>>
class ostream_iterator;

ओस्ट्रीम इटरेटर वर्ग के सदस्य कार्य नीचे की तरह हैं।

ostream_iterator<T, charT, traits>& operator=(const T& value);
ostream_iterator<T, charT, traits>& operator*();
ostream_iterator<T, charT, traits>& operator++();
ostream_iterator<T, charT, traits>& operator++(int);

पैरामीटर हैं:टी। यह उन तत्वों का प्रकार है जिन्हें डाला जाएगा, चार्ट, यह उस प्रकार के तत्व हैं जिन्हें ओस्ट्रीम संभाल सकता है, और लक्षण। ये चरित्र लक्षण हैं जिन्हें धारा द्वारा नियंत्रित किया जा सकता है।

उदाहरण कोड

#include <iostream>
#include<iterator>
#include<vector>
#include<algorithm>
using namespace std;
main() {
   vector<int> vector;
   for(int i=1;i<=10;i++)
      vector.push_back(i*i); //make square and insert
      ostream_iterator<int> out(cout,",");
      copy(vector.begin(),vector.end(),out);
}

आउटपुट

1,4,9,16,25,36,49,64,81,100,

एक और उदाहरण,

उदाहरण कोड

#include <iostream>
#include<iterator>
#include<vector>
#include<algorithm>
using namespace std;
main() {
   ostream_iterator<int> os_out(cout,",");
   *os_out = 10;
   os_out++; //point to next
   *os_out = 20;
   os_out++;
   *os_out = 30;
}

आउटपुट

10,20,30,

  1. C++ में बाइनरी सर्च ट्री इटरेटर

    मान लीजिए हम बाइनरी ट्री के लिए एक इटरेटर बनाना चाहते हैं। दो तरीके होंगे। अगला () विधि अगले तत्व को वापस करने के लिए है, और hasNext () विधि बूलियन मान वापस करने के लिए है, जो इंगित करेगा कि अगला तत्व मौजूद है या नहीं। तो अगर पेड़ जैसा है - और फ़ंक्शन कॉल का क्रम [अगला (), अगला (), है नेक्स्ट (),

  1. सी ++ स्ट्रीम क्लास स्ट्रक्चर

    C++ स्ट्रीम में प्रोग्राम थ्रेड और i/o के बीच स्थानांतरित वर्णों की धारा को संदर्भित करता है। स्ट्रीम कक्षाएं सी ++ में फाइलों और आईओ उपकरणों पर इनपुट और आउटपुट ऑपरेशंस के लिए उपयोग किया जाता है। इन वर्गों में विशिष्ट विशेषताएं हैं और कार्यक्रम के इनपुट और आउटपुट को संभालने के लिए। iostream.h पुस्

  1. C++ में फॉलिंग मैट्रिक्स का कार्यान्वयन

    हमने विभिन्न फिल्मों आदि में गिरते हुए मैट्रिक्स दृश्य देखे हैं। यहां हम देखेंगे कि ऐसा करने के लिए C++ प्रोग्राम कैसे लिखना है। इस समस्या को हल करने के लिए, हमें इन चरणों का ध्यान रखना होगा। मैट्रिक्स की चौड़ाई निर्धारित करें दो लगातार वर्णों के बीच समान मात्रा में अंतर हो भी सकता है और नहीं भी ह