यहां हम 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)