सरणी c++ में एक डेटा संरचना है जो निरंतर स्मृति स्थानों में एक ही डेटा प्रकार के एकाधिक डेटा तत्वों को संग्रहीत करती है।
सी ++ प्रोग्रामिंग भाषा में, सरणी प्रकारों में हेरफेर करने के लिए इनबिल्ट फ़ंक्शन होते हैं। कुछ फ़ंक्शन बहुआयामी सरणियों पर भी लागू किए जा सकते हैं। सरणी शीर्षलेख फ़ाइल में c++ प्रोग्रामिंग भाषा में सरणियों में हेरफेर करने के लिए कार्य हैं।
c++ में सरणियों में हेरफेर करने के कुछ सामान्य तरीके हैं -
is_array()
इस फंक्शन का उपयोग यह जांचने के लिए किया जाता है कि फंक्शन में पास किया गया वेरिएबल टाइप एरे का है या नहीं। यह विधि उन सरणियों को पहचानने में सख्त है जो चेक में भी std ::array को अस्वीकार कर देती हैं। रिटर्न प्रकार एक पूर्णांक है यानी यह सही है (1) यदि कोई सरणी पास की जाती है अन्यथा गलत (0)।
उदाहरण
#include<type_traits> #include<iostream> #include<array> #include<string> using namespace std; int main(){ cout<<"Checking if int is an array ? : "; is_array<int>::value?cout<<"True":cout<<"False"; cout<<"\nChecking if int[] is an array? : "; is_array<int[6]>::value?cout<<"True":cout<<"False"; cout<<"\nChecking if 2D Array is an array? : "; is_array<int[2][3]>::value?cout<<"True":cout<<"False"; cout<<"\nChecking if String is an array? : "; is_array<string>::value?cout<<"True":cout<<"False"; cout<<"\nChecking if Character Array is an array? : "; is_array<char[4]>::value?cout<<"True":cout<<"False"; cout << endl; return 0; }
आउटपुट
Checking if int is an array ? : False Checking if int[] is an array? : True Checking if 2D Array is an array? : True Checking if String is an array? : False Checking if Character Array is an array? : True
is_same()
इस फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि क्या पास किए गए दो प्रकार के ब्लूप्रिंट बिल्कुल समान हैं यानी दोनों के प्रकार समान होने चाहिए। आइए इस उदाहरण को देखें जो अवधारणा को स्पष्ट करेगा -
उदाहरण
#include<type_traits> #include<iostream> #include<array> #include<string> using namespace std; int main(){ cout << "Checking if 1D array is same as 1D array (Different sizes) ? : " ; is_same<int[3],int[4]>::value?cout<<"True":cout<<"False"; cout << "\nChecking if 1D array is same as 1D array? (Same sizes): " ; is_same<int[5],int[5]>::value?cout<<"True":cout<<"False"; cout << "\nChecking If 2D array is same as 1D array? : "; is_same<int[3],int[3][4]>::value?cout<<"True":cout<<"False"; cout << "\nChecking if Character array is same as Integer array? : " ; is_same<int[5],char[5]>::value?cout<<"True":cout<<"False"; return 0; }
आउटपुट
Checking if 1D array is same as 1D array (Different sizes) ? : False Checking if 1D array is same as 1D array? (Same sizes): True Checking If 2D array is same as 1D array? : False Checking if Character array is same as Integer array? : False
रैंक ()
रैंक फ़ंक्शन का उपयोग पारित सरणी के रैंक को वापस करने के लिए किया जाता है। रैंक सरणी के आयाम का मतलब है। यह सरणी के रैंक का पूर्णांक मान देता है।
उदाहरण
#include<type_traits> #include<iostream> using namespace std; int main(){ cout<<"Print rank for the following types of arrays : \n"; cout<<"integer : "<<rank<int>::value<<endl; cout<<"1D integer array (int[]) : "<< rank<int[5]>::value<<endl; cout<<"2D integer array (int[][]) : "<<rank<int[2][2]>::value<<endl; cout<<"3D integer array (int[][][]) : "<<rank<int[2][3][4]>::value<<endl; cout<<"1D character array : "<<rank<char[10]>::value<<endl; }
आउटपुट
Print rank for the following types of arrays : integer : 0 1D integer array (int[]) : 1 2D integer array (int[][]) : 2 3D integer array (int[][][]) : 3 1D character array : 1
हद ()
सी ++ में सीमा () विधि एक सरणी के आयाम का आकार देता है। इस विधि, सरणी और आयाम के लिए दो इनपुट पैरामीटर हैं।
उदाहरण
#include<type_traits> #include<iostream> using namespace std; int main(){ cout<<"Printing the length of all dimensions of the array arr[2][45][5] :\n"; cout<<"1st dimension : "<<extent<int[2][45][5],0>::value<<endl; cout<<"2nd dimension : "<<extent<int[2][45][5],1>::value<<endl; cout<<"3rd dimension : "<<extent<int[2][45][5],2>::value<<endl; cout<<"4th dimension : "<<extent<int[2][45][5],3>::value<<endl; }
आउटपुट
Printing the length of all dimensions of the array arr[2][45][5] : 1st dimension : 2 2nd dimension : 45 3rd dimension : 5 4th dimension : 0
remove_extent()
एक बहुआयामी सरणी के आयाम को हटाने के लिए remove_extent फ़ंक्शन का उपयोग किया जाता है। यह सरणी के पहले आयाम को हटा देता है।
उदाहरण
#include<type_traits> #include<iostream> using namespace std; int main(){ cout<<"Removing extent of the array arr[2][5][4] : \n"; cout<<"Initial rank : "<<rank<int[2][5][4]>::value<<endl; cout<<"The rank after removing 1 extent is : " ; cout << rank<remove_extent<int[20][10][30]>::type>::value << endl; cout << "length of 1st dimension after removal is :"; cout<<extent<remove_extent<int[20][10][30]>::type>::value << endl; }
आउटपुट
Removing extent of the array arr[2][5][4] : Initial rank : 3 The rank after removing 1 extent is : 2 length of 1st dimension after removal is :10
remove_all_extents()
इस फ़ंक्शन का उपयोग सरणी के सभी आयामों को एक बार में निकालने के लिए किया जाता है। ऐरे को ऐरे के समान वेरिएबल में बदल दिया जाता है।
उदाहरण
#include<type_traits> #include<iostream> using namespace std; int main(){ cout<<"Removing all extents of the array arr[2][5][4] : \n"; cout<<"Initial rank : "<<rank<int[2][5][4]>::value<<endl; cout<<"The rank after removing all extents is : " ; cout << rank<remove_all_extents<int[20][10][30]>::type>::value << endl; cout << "length of 1st dimension after removal is :"; cout<<extent<remove_all_extents<int[20][10][30]>::type>::value << endl; }
आउटपुट
Removing all extents of the array arr[2][5][4] : Initial rank : 3 The rank after removing all extents is : 0 length of 1st dimension after removal is :0