C++ Academy · पाठ

निश्चित आकार का std::array

एक सुरक्षित C-array विकल्प

पाठ 1, कुल 4 में से13 चरण

निश्चित आकार का std::array, CoddyKit पर C++ Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह C++ Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एक सुरक्षित C-सरणी

std::array<T, N> एक निश्चित आकार वाली सरणी है, जो अपना आकार स्वयं जानती है और एक उचित कंटेनर की तरह व्यवहार करती है। <array> शामिल करें।

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::cout << a[0] << " " << a.size() << "\n";
}

अपना आकार जानती है

पॉइंटर में बदल जाने वाले रॉ ऐरे के विपरीत, std::array हमेशा size() के माध्यम से अपनी लंबाई बताता है।

#include <iostream>
#include <array>
int main() {
    std::array<double, 4> a{};
    std::cout << a.size() << "\n"; // 4
}

रेंज-आधारित For

यह एक उचित कंटेनर है, इसलिए आप रेंज-आधारित for लूप से इसके तत्वों पर क्रम से चल सकते हैं।

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {10, 20, 30};
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

सीमा-जाँच वाला at()

गलत इंडेक्स होने पर at(i), std::out_of_range अपवाद देता है, जबकि operator[] जाँच नहीं करता; अपनी सुरक्षा-आवश्यकता के अनुसार चुनिए।

#include <iostream>
#include <array>
int main() {
    std::array<int, 2> a = {1, 2};
    try { a.at(5); }
    catch (const std::out_of_range&) { std::cout << "out of range\n"; }
}

front, back और डेटा

सुविधाजनक एक्सेसर: front() और back() क्रमशः पहला और आखिरी तत्व लौटाते हैं; data() C एपीआई के लिए एक रॉ पॉइंटर देता है।

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {7, 8, 9};
    std::cout << a.front() << " " << a.back() << "\n";
}

मान के रूप में कॉपी योग्य

std::array को = के साथ आसानी से कॉपी किया जा सकता है और इसका हर तत्व कॉपी होता है, जबकि रॉ ऐरे पॉइंटर में बदल जाते हैं।

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a = {1, 2, 3};
    std::array<int, 3> b = a; // full copy
    b[0] = 99;
    std::cout << a[0] << " " << b[0] << "\n"; // 1 99
}

एल्गोरिद्म के साथ काम करता है

मानक एल्गोरिद्म std::array के इटरेटर स्वीकार करते हैं; यहाँ हम इसे क्रमबद्ध करते हैं।

#include <iostream>
#include <array>
#include <algorithm>
int main() {
    std::array<int, 4> a = {4, 1, 3, 2};
    std::sort(a.begin(), a.end());
    for (int x : a) std::cout << x << " ";
    std::cout << "\n";
}

fill और तुलना

fill(value) हर तत्व को सेट करता है; std::array तत्व-दर-तत्व == तुलना का भी समर्थन करता है।

#include <iostream>
#include <array>
int main() {
    std::array<int, 3> a{};
    a.fill(5);
    std::array<int, 3> b = {5, 5, 5};
    std::cout << (a == b) << "\n"; // 1
}

आकार प्रकार का हिस्सा है

लंबाई N प्रकार में ही शामिल होती है, इसलिए std::array<int,3> लेने वाला फ़ंक्शन आकार-4 वाले ऐरे को स्वीकार नहीं करेगा। आगे चलकर std::span इस समस्या में मदद करता है।

स्टैक पर आवंटन

std::array अपने तत्वों को सीधे मेमोरी में संग्रहीत करता है, आमतौर पर स्टैक पर, इसलिए हीप आवंटन नहीं होता। इससे निश्चित आकार वाले डेटा के लिए यह तेज़ और पूर्वानुमानित रहता है।

ऐरे बनाम वेक्टर

जब आकार का पता कंपाइल-टाइम पर हो और वह निश्चित हो, तब std::array का उपयोग कीजिए। जब आकार रनटाइम पर बदल सकता हो, तब std::vector का उपयोग कीजिए।

त्वरित जाँच

std::array के बारे में अपनी समझ जाँचिए।

पुनरावृत्ति

आपने std::array के बारे में सीखा:

  • यह निश्चित आकार वाला, आकार की जानकारी रखने वाला कंटेनर है और इसमें हीप आवंटन नहीं होता।
  • at() सीमाओं की जाँच करता है; [] नहीं करता।
  • इसे कॉपी और तुलना किया जा सकता है तथा यह एल्गोरिद्म के साथ काम करता है।
  • आकार N प्रकार का हिस्सा होता है।
शुरुआत निःशुल्क

एआई शिक्षक के साथ C++ सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “निश्चित आकार का std::array” पाठ निःशुल्क है?

हाँ — C++ Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “निश्चित आकार का std::array” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। C++ Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“निश्चित आकार का std::array” में मैं क्या सीखूँगा?

एक सुरक्षित C-array विकल्प आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C++ Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या C++ Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C++ Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“निश्चित आकार का std::array” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस C++ Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर C++ Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. निश्चित आकार का std::array
  2. std::span की मूल बातें
  3. फ़ंक्शन में Span पास करना
  4. सीमाएँ और Subspans
← C++ Academy पर वापस जाएँ