C++ में '-->' ऑपरेटर का क्या अर्थ है और यह क्यों काम करता है?
सभी को नमस्कार! मैं C++ सीख रहा हूँ और मुझे इंटरनेट पर एक अजीब कोड मिला। उसमें कुछ इस तरह लिखा था:
```cpp
int x = 10;
while (x --> 0) {
printf("%d ", x);
}
```
और यह कोड काम करता है! यह 9 से 0 तक संख्याएँ प्रिंट करता है। मैंने पहले सोचा कि यह कोई नया "एरो ऑपरेटर" (arrow operator) है जो मैंने किताब में नहीं देखा। लेकिन फिर मैंने बिना स्पेस के `x --> 0` को `x-->0` के रूप में लिखकर देखा — यह भी काम करता है। जबकि `x->0` काम नहीं करता, कंपाइलेशन एरर देता है।
मैंने C++ के डॉक्यूमेंटेशन में देखा और `-->` ऑपरेटर का कोई उल्लेख नहीं मिला। C++ स्टैंडर्ड में `->` (पॉइंटर के ज़रिए मेंबर एक्सेस), `--` (डिक्रीमेंट) जैसे ऑपरेटर्स हैं, लेकिन `-->` नहीं है। यह कैसे संभव है? क्या यह कंपाइलर की कोई ट्रिक है या स्टैंडर्ड की कोई विशेषता? `while (x --> 0)` वाला कोड क्यों कंपाइल होता है और काम करता है, जबकि ऐसा कोई ऑपरेटर मौजूद नहीं है? और क्या वास्तविक प्रोजेक्ट्स में ऐसा लिखना सुरक्षित है? कृपया समझाएँ!
P.S. कंपाइलर वर्जन: GCC 11.2, स्टैंडर्ड C++20।
<<>>