"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं C++ में किसी गैर-मुख्य फ़ंक्शन को पास किए गए ऐरे पर रेंज-आधारित फ़ॉर-लूप का उपयोग कैसे कर सकता हूं?

मैं C++ में किसी गैर-मुख्य फ़ंक्शन को पास किए गए ऐरे पर रेंज-आधारित फ़ॉर-लूप का उपयोग कैसे कर सकता हूं?

2024-11-09 को प्रकाशित
ब्राउज़ करें:522

How can I use a range-based for-loop on an array passed to a non-main function in C  ?

सरणी पर रेंज-आधारित फॉर-लूप गैर-मुख्य फ़ंक्शन को पास किया गया

सी में, एक रेंज-आधारित फॉर-लूप हो सकता है किसी सरणी पर पुनरावृति करने के लिए उपयोग किया जाता है। हालाँकि, जब किसी ऐरे को किसी गैर-मुख्य फ़ंक्शन में पास किया जाता है, तो यह एक पॉइंटर में बदल जाता है, जिससे इसके आकार की जानकारी खो जाती है।

इस समस्या को हल करने और रेंज-आधारित फॉर-लूप के उपयोग को सक्षम करने के लिए, ऐरे सूचक के रूप में पारित करने के बजाय संदर्भित किया जाना चाहिए। यह सरणी के आकार की जानकारी बरकरार रखता है। यहां सही दृष्टिकोण प्रदर्शित करने वाले संशोधित उदाहरण दिए गए हैं:

void foo(int (&bar)[3]);

int main() {
  int bar[3] = {1,2,3};
  for (int i : bar) {
    cout << i << endl;
  }
  foo(bar);
}

void foo(int (&bar)[3]) {
  for (int i : bar) {
    cout << i << endl;
  }
}

// Generic implementation
template <std::size_t array_size>
void foo(int (&bar)[array_size]) {
  for (int i : bar) {
    cout << i << endl;
  }
}
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3