यहां हम C++ में एकसमान इनिशियलाइज़ेशन के बारे में चर्चा करेंगे। यह C++11 संस्करण से समर्थित है। यूनिफ़ॉर्म इनिशियलाइज़ेशन एक ऐसी सुविधा है जो वैरिएबल और ऑब्जेक्ट्स को इनिशियलाइज़ करने के लिए एक सुसंगत सिंटैक्स के उपयोग की अनुमति देती है जो कि आदिम प्रकार से लेकर एग्रीगेट तक हैं। दूसरे शब्दों में, यह ब्रेस-इनिशियलाइज़ेशन का परिचय देता है जो इनिशियलाइज़र मानों को संलग्न करने के लिए ब्रेसिज़ ({}) लागू करता है।
सिंटैक्स
type var_name{argument_1, argument_2, .... argument_n}
गतिशील रूप से आवंटित सरणियों को प्रारंभ करें
उदाहरण (C++)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; int main() { int* pointer = new int[5]{ 10, 20, 30, 40, 50 }; cout<lt;"The contents of array are: "; for (int i = 0; i < 5; i++) cout << pointer[i] << " " ; }
आउटपुट
The contents of array are: 10 20 30 40 50
किसी वर्ग के सरणी डेटा सदस्य का प्रारंभ
उदाहरण
#include <iostream> using namespace std; class MyClass { int arr[3]; public: MyClass(int p, int q, int r) : arr{ p, q, r } {}; void display(){ cout <<"The contents are: "; for (int c = 0; c < 3; c++) cout << *(arr + c) << ", "; } }; int main() { MyClass ob(40, 50, 60); ob.display(); }
आउटपुट
The contents are: 40, 50, 60,
ऑब्जेक्ट्स को वापस लौटने के लिए स्पष्ट रूप से इनिशियलाइज़ करें
उदाहरण
#include <iostream> using namespace std; class MyClass { int p, q; public: MyClass(int i, int j) : p(i), q(j) { } void display() { cout << "(" <<p <<", "<< q << ")"; } }; MyClass func(int p, int q) { return { p, q }; } int main() { MyClass ob = func(40, 50); ob.display(); }
आउटपुट
(40, 50)
कार्य पैरामीटर को स्पष्ट रूप से प्रारंभ करें
उदाहरण
#include <iostream> using namespace std; class MyClass { int p, q; public: MyClass(int i, int j) : p(i), q(j) { } void display() { cout << "(" <<p <<", "<< q << ")"; } }; void func(MyClass p) { p.display(); } int main() { func({ 40, 50 }); }
आउटपुट
(40, 50)