मेरे पास यहां एक बिल्कुल मूल सी ++ प्रश्न है।सी ++ में ऑपरेटर चेनिंग कैसा होता है?
#include <iostream>
using namespace std;
int main() {
int a = 255;
cout << hex << a << endl; // <-----
}
ऊपर कोड टुकड़ा में, कैसे std::cout
बयान श्रृंखलित है?
मैं समझता हूँ कि cout
के एक कार्यान्वयन cout
वस्तु के संदर्भ में वापसी होगी तो होना ही चेनिंग अनुमति देने के लिए, तो यह रूप में निष्पादित किया जाना चाहिए: क्रम में,
(((cout << hex) << a) << endl)
यानी इन के बराबर
cout << hex
cout << a
cout << endl
लेकिन इस मामले क्योंकि किसी भी तरह a
जरूरतों का मूल्य hex
रूप में रूपांतरित किया जाने नहीं हो सकता!
ऑपरेटर वास्तव में रूपांतरण करने के लिए संकलक द्वारा कैसे बंधे जाते हैं?
आपको शायद यह भी होना चाहिए पहेली के दूसरे भाग का उल्लेख करें, 'ओस्ट्रीम और ऑपरेटर << (ओस्ट्रीम और (*) (ओस्ट्रीम एंड))' ओवरलोड, जो कि 'हेक्स' जैसे मैनिपुलेटर्स को वास्तव में बुलाया जाता है। – hammar
@hammar ग्रेट अवलोकन! टिप्पणी के लिए बहुत बहुत धन्यवाद, मैंने इस आवश्यक बिंदु को दर्शाने के लिए उत्तर संपादित किया। – dasblinkenlight