यहां हम C या C++ में एक अद्भुत ट्रिक देखेंगे। ऐरे सबस्क्रिप्ट A[i] को i[a] के रूप में भी लिखा जा सकता है। C/C++ में E1[E2] को (*((E1) + (E2))) के रूप में परिभाषित किया गया है। कंपाइलर ऐरे तत्वों तक पहुंचने के लिए आंतरिक रूप से अंकगणित करता है। रूपांतरण नियमों के कारण, जो बाइनरी + ऑपरेटर पर लागू होते हैं, यदि E1 एक ऐरे ऑब्जेक्ट है, और E2 एक पूर्णांक है, तो E1[E2] E1 ऐरे में E2वें तत्व को दर्शाता है। इसलिए A[B] को *(A + B) के रूप में परिभाषित किया जा सकता है, इसलिए B[A] = *(B + A)। तो वे मूल रूप से एक ही चीज हैं।
उदाहरण
#include <iostream>
using namespace std;
int main() {
int array[] = {1, 2, 3, 4, 5, 6, 7};
cout << "array[5] is " << array[5] << endl;
cout << "5[array] is " << 5[array];
}
आउटपुट
array[5] is 6 5[array] is 6