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

C++ STL में array::crbegin() और array::crend()


array::crbegin() और array::crend()

यहां हम C++ STL में सरणी के crbegin() और crend() फंक्शन्स देखेंगे।

array::crbegin() फंक्शन का उपयोग रिवर्स इटरेटर प्राप्त करने के लिए किया जाता है। यह कंटेनर के अंतिम तत्व को इंगित करने वाला कॉन्स्टेंट रिवर्स इटरेटर लौटाता है। यह फंक्शन कोई पैरामीटर नहीं लेता।

array::crend() फंक्शन crbegin() का विपरीत है। यह वह इटरेटर लौटाता है जो रिवर्स इटरेटर के अंतिम तत्व (यानी मूल सरणी के पहले तत्व से पहले) को इंगित करता है।

उदाहरण

#include <iostream>
#include <array>
using namespace std;

int main() {
    array<int, 10> arr = {0, 11, 22, 33, 44, 55, 66, 77, 88, 99};

    cout << "The list in reverse order: ";
    for(auto it = arr.crbegin(); it != arr.crend(); it++) {
        cout << *it << " ";
    }
    cout << endl;

    return 0;
}

आउटपुट

The list in reverse order: 99 88 77 66 55 44 33 22 11 0

इटरेटर प्रकार तुलना

इटरेटर प्रकार दिशा कॉन्स्ट प्रारंभ अंत
begin() इटरेटर आगे नहीं पहला तत्व अंत के बाद
end() इटरेटर आगे नहीं अंत के बाद -
rbegin() रिवर्स_इटरेटर पीछे नहीं अंतिम तत्व शुरुआत से पहले
rend() रिवर्स_इटरेटर पीछे नहीं शुरुआत से पहले -
cbegin() कॉन्स्ट_इटरेटर आगे हां पहला तत्व अंत के बाद
cend() कॉन्स्ट_इटरेटर आगे हां अंत के बाद -
crbegin() कॉन्स्ट_रिवर्स_इटरेटर पीछे हां अंतिम तत्व शुरुआत से पहले
crend() कॉन्स्ट_रिवर्स_इटरेटर पीछे हां शुरुआत से पहले -

व्यावहारिक उपयोग

// रिवर्स में रीड-ओनली एक्सेस
for (auto it = arr.crbegin(); it != arr.crend(); ++it) {
    cout << *it << " ";  // *it केवल पढ़ने के लिए है
}

// STL एल्गोरिदम के साथ
#include <algorithm>
bool allPositive = all_of(arr.crbegin(), arr.crend(), [](int x){ return x > 0; });

// रिवर्स कॉपी
vector<int> vec(arr.crbegin(), arr.crend());  // रिवर्स क्रम में कॉपी

महत्वपूर्ण बिंदु

  • crbegin() और crend() C++11 में पेश किए गए
  • कॉन्स्ट रिवर्स इटरेटर्स के माध्यम से तत्वों को संशोधित नहीं किया जा सकता
  • रेंज-आधारित फॉर लूप के लिए: for (auto it = arr.rbegin(); it != arr.rend(); ++it)
  • std::reverse_iterator एडाप्टर किसी भी इटरेटर को रिवर्स इटरेटर में बदल सकता है
  1. C++ STL में List reverse फ़ंक्शन C++ STL में List reverse फ़ंक्शन

    STL में List क्या हैList एक डेटा संरचना है जो अनुक्रम में कहीं भी निरंतर समय सम्मिलन और विलोपन की अनुमति देती है। Lists को डबल लिंक्ड सूचियों के रूप में कार्यान्वित किया जाता है। Lists गैर-सन्निकट मेमोरी आवंटन की अनुमति देती हैं। List सरणी, वेक्टर और deque की तुलना में किसी भी स्थिति में तत्व के सम्

  1. - C++ STL में array::fill() और array::swap()

    std::array में fill() और swap() इस खंड में हम देखेंगे कि C++ STL में array::fill() और array::swap() का उपयोग क्या है। array::fill() array::fill() फंक्शन का उपयोग सरणी को किसी निर्दिष्ट मान से भरने के लिए किया जाता है। सिंटैक्स array.fill(value); उदाहरण #include <iostream> #include <arra

  1. - C++ में STL का उपयोग करके सरणी के सभी रिवर्स परम्यूटेशन

    समस्या विवरण इस खंड में हम देखेंगे कि C++ में STL का उपयोग करके सभी रिवर्स परम्यूटेशन कैसे उत्पन्न करें। (1, 2, 3) जैसे कुछ नंबरों के फॉरवर्ड और रिवर्स परम्यूटेशन इस प्रकार होंगे: फॉरवर्ड परम्यूटेशन 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2, 1 रिवर्स परम्यूटेशन 3, 2, 1 3, 1, 2 2, 3, 1 2, 1, 3