खोज…


परिचय

std::forward_list एक कंटेनर है जो कंटेनर में कहीं से भी तेज़ सम्मिलन और तत्वों को हटाने का समर्थन करता है। फास्ट रैंडम एक्सेस समर्थित नहीं है। इसे एक एकल-लिंक्ड सूची के रूप में लागू किया गया है और अनिवार्य रूप से सी में इसके कार्यान्वयन की तुलना में कोई ओवरहेड नहीं है। std::list तुलना में std::list इस कंटेनर को अधिक स्थान कुशल भंडारण प्रदान करता है जब द्विदिशीय पुनरावृत्ति की आवश्यकता नहीं होती है।

टिप्पणियों

सूची में या कई सूचियों में तत्वों को जोड़ना, हटाना और स्थानांतरित करना, वर्तमान में सूची में मौजूद अन्य तत्वों का जिक्र करते हुए पुनरावृत्तियों को अमान्य नहीं करता है। हालाँकि, किसी तत्त्व या संदर्भ का संदर्भ किसी तत्व के लिए अमान्य होता है जब सूची से संबंधित तत्व हटा दिया जाता है (erase_after के माध्यम से)। std :: Forward_list कंटेनर की आवश्यकताओं को पूरा करती है (आकार सदस्य फ़ंक्शन को छोड़कर और उस ऑपरेटर == की जटिलता हमेशा रैखिक होती है), AllocatorAwareContainer और SequenceContainer।

उदाहरण

#include <forward_list>
#include <string>
#include <iostream>

template<typename T>
std::ostream& operator<<(std::ostream& s, const std::forward_list<T>& v) {
    s.put('[');
    char comma[3] = {'\0', ' ', '\0'};
    for (const auto& e : v) {
        s << comma << e;
        comma[0] = ',';
    }
    return s << ']';
}

int main() 
{
    // c++11 initializer list syntax:
    std::forward_list<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
    std::cout << "words1: " << words1 << '\n';
 
    // words2 == words1
    std::forward_list<std::string> words2(words1.begin(), words1.end());
    std::cout << "words2: " << words2 << '\n';
 
    // words3 == words1
    std::forward_list<std::string> words3(words1);
    std::cout << "words3: " << words3 << '\n';
 
    // words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
    std::forward_list<std::string> words4(5, "Mo");
    std::cout << "words4: " << words4 << '\n';
}

आउटपुट:

words1: [the, frogurt, is, also, cursed]
words2: [the, frogurt, is, also, cursed]
words3: [the, frogurt, is, also, cursed]
words4: [Mo, Mo, Mo, Mo, Mo]

तरीके

विधि का नाम परिभाषा
operator= कंटेनर को मान प्रदान करता है
assign कंटेनर को मान प्रदान करता है
get_allocator संबंधित आवंटनकर्ता को लौटाता है
------ ------
तत्व की पहुँच
front पहले तत्व तक पहुँचें
------ ------
iterators
before_begi एन शुरू करने से पहले तत्व को एक पुनरावृत्ति देता है
cbefore_begin शुरुआत से पहले तत्व को एक निरंतर पुनरावृत्ति देता है
begin शुरुआत के लिए एक पुनरावृत्ति देता है
cbegin शुरुआत में एक बाधा पुनरावृत्ति देता है
end अंत में एक पुनरावृति देता है
cend अंत में एक पुनरावृति देता है
क्षमता
empty जाँच करता है कि कंटेनर खाली है या नहीं
max_size तत्वों की अधिकतम संभव संख्या देता है
संशोधक
clear सामग्री को साफ करता है
insert_after एक तत्व के बाद तत्वों को सम्मिलित करता है
emplace_after एक तत्व के बाद में तत्वों का निर्माण करता है
erase_after एक तत्व के बाद एक तत्व को मिटा देता है
push_front प्रारंभ में एक तत्व सम्मिलित करता है
emplace_front शुरुआत में एक तत्व का निर्माण करता है
pop_front पहला तत्व निकालता है
resize संग्रहीत तत्वों की संख्या को बदलता है
swap सामग्री स्वैप करता है
संचालन
merge दो क्रमबद्ध सूचियों को मर्ज करता है
splice_after तत्वों को दूसरे फ़ॉरवर्ड_लिस्ट से ले जाता है
remove विशिष्ट मानदंडों को पूरा करने वाले तत्वों को निकालता है
remove_if विशिष्ट मानदंडों को पूरा करने वाले तत्वों को निकालता है
reverse तत्वों के क्रम को उलट देता है
unique लगातार डुप्लिकेट तत्वों को निकालता है
sort तत्वों को छाँटें


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow