ट्रैक
/
C++
C++
/
सिलेबस
/
ऐरे और वेक्टर
ऐर

ऐरे और वेक्टर में C++

3 अभ्यास

ऐरे और वेक्टर के बारे में

ऐरे और वेक्टर

C++ में एक ही टाइप के एलिमेंट को क्रम में रखने के लिए अलग-अलग कंटेनर मिलते हैं। निश्चित आकार के कंटेनर के लिए std::array है, और std::vector है, जिसका आकार गतिशील रूप से बदल सकता है।

बनाना

जब आप कोई ऐरे या वेक्टर घोषित करते हैं, तो आपको उन एलिमेंट का टाइप बताना होता है जो वह कंटेनर रखेगा। ऐरे के लिए आकार भी बताना होता है। इन दोनों तरह के कंटेनर को शुरू करने के उदाहरण देखिए:

#include <array>
#include <string>

// std::array<element_type, size> variable_name {list of elements}
std::array<std::string, 3> indie_rock {"yeah", "yeah", "yeah"};
// indie_rock contains the elements "yeah" three times

वेक्टर को आम तौर पर ज़्यादा जगह चाहिए होती है, क्योंकि वे आगे बढ़ने के लिए मेमोरी आवंटित करते हैं। आपको आकार बताने की ज़रूरत नहीं होती:

#include <vector>

// std::vector<element_type> variable_name {list of elements}
std::vector<int> countdown {3, 2, 1};
// my_vector contains the elements 3, 2 and 1

नोट: आपको टेम्पलेट कॉन्सेप्ट के पीछे की सटीक कार्यप्रणाली अभी जानने की ज़रूरत नहीं है, सिलेबस के पेड़ में नीचे इसका अपना कॉन्सेप्ट आएगा।

एलिमेंट तक पहुँचना

वेक्टर और ऐरे में एलिमेंट तक पहुँचने के लिए एक ही फंक्शन होते हैं। आप front और back मेंबर फंक्शन से कंटेनर का पहला और अंतिम एलिमेंट पा सकते हैं। किसी खास एलिमेंट तक पहुँचने के लिए at और [] ऑपरेटर भी हैं।

countdown[0];
// => 3
countdown.at(2);
// => 1
countdown[1] = 4;
// countdown now contains 3, 4 and 1
indie_rock.back() = "yeahs";
// indie_rock is now "yeah", "yeah", "yeahs"

नोट: अगर आप ऐसी जगह चुनते हैं जो आपके कंटेनर की सीमा में नहीं है, तो [] से अपरिभाषित व्यवहार हो सकता है। at फंक्शन एक्सेप्शन फेंकता है, जिससे लंबे समय में आपका काम आसान हो सकता है।

वेक्टर में बदलाव करना

चूँकि vector का आकार निश्चित नहीं होता, इसलिए उसमें एलिमेंट जोड़ना या हटाना संभव है। इसके लिए दो आम फंक्शन हैं, emplace_back और pop_back।

std::vector<std::string> witches {"Holly", "Alyssa", "Shannen"};
witches.pop_back();
// Shannen is no longer with the witches
witches.emplace_back("Rose");
// Rose has joined the team

क्षमता

आप empty मेंबर फंक्शन से जाँच सकते हैं कि कंटेनर खाली हैं या नहीं। एलिमेंट की संख्या जाननी हो, तो size इस्तेमाल कर सकते हैं।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

ऐरे और वेक्टर सीखिए

अभ्यास लॉक है

ऐरे और वेक्टर पर अभ्यास करने के लिए 4 और अभ्यास अनलॉक कीजिए