पर इंडेंट जोड़ने के लिए कैसे करें हमारे प्रोजेक्ट में हम डेटा के एक आसान पठनीय प्रारूप को मुद्रित करने के लिए हमारे ऑब्जेक्ट मॉडल में सी ++ स्ट्रीम ऑपरेटर (< <) का उपयोग करते हैं।धारा ऑपरेटर
std::ostream& operator<<(std::ostream & oStream, const OwnClass& iOwnClass) {
oStream << "[SomeMember1: " << iOwnClass._ownMember1 << "]\n";
oStream << "[SomeMember2: " << iOwnClass._ownMember2 << "]\n";
}
लॉगिंग में इस में परिणामी:: एक सरल उदाहरण यह है
[SomeMember1: foo]
[SomeMember2: bar]
क्या अब हम चाहते हैं कि ऑपरेटर का परिणाम इंडेंट करने के लिए सक्षम होने के लिए है। कुछ कॉलिंग क्लास इस तरह के परिणाम नहीं चाहते हैं, लेकिन प्रत्येक पंक्ति से पहले 2 रिक्त स्थान इंडेंट जोड़ना चाहते हैं। हम इंडेंट को निर्दिष्ट करने वाले हमारे वर्ग में एक सदस्य जोड़ सकते हैं, लेकिन यह एक सुरुचिपूर्ण समाधान प्रतीत नहीं होता है।
बेशक यह एक बहुत बड़ा मुद्दा नहीं है, लेकिन अगर यह काम करेगा तो हमारा लॉगिंग इतना अच्छा होगा।
धन्यवाद
पूरी तरह से काम किया! हालांकि, मैंने कुछ बदलाव किए हैं, जैसे वृद्धि बढ़ाना और घटाना इंडेंट विधि। मेरे लॉग ठीक दिखते हैं कि मैं उन्हें अब कैसे चाहता हूं। धन्यवाद। –
@ जेम्स: क्या आपके पास अधिक जटिल कोड भी उपलब्ध होगा? – Cookie