लागू करने के लिए मैं एक लॉगिंग क्लास बनाना चाहता हूं जिसमें जानकारी, त्रुटि इत्यादि जैसे सदस्य हैं जो कॉन्फ़िगरेशन, फ़ाइल या कहीं भी कॉन्फ़िगर करने के लिए आउटपुट कर सकते हैं।नो-ऑप std :: ostream
दक्षता के लिए, मैं उन संदेशों को फेंक दिया जा करने के लिए (यानी की जानकारी संदेशों एक वर्बोज़ मोड में जब नहीं चल) जा रहे स्वरूपण की भूमि के ऊपर से बचने के लिए चाहते हैं। यदि मैं एक कस्टम std :: streambuf को लागू करता हूं जो कहीं भी आउटपुट नहीं करता है, तो मुझे लगता है कि std :: ostream परत अभी भी सभी स्वरूपण करेगा। क्या कोई वास्तव में "शून्य" std :: ostream होने का एक तरीका सुझा सकता है जो <<
के साथ पारित पैरामीटर पर किसी भी काम को करने से बचाता है?
धन्यवाद।
मुझे चिंता नहीं होगी। नील द्वारा दिखाए गए एक नल स्ट्रीम का उपयोग करें। कक्षा को किसी भी बेहतर प्रदर्शन की आवश्यकता नहीं है, क्योंकि जाहिर है कि यदि आपके पास शून्य लक्ष्य नहीं है, तो प्रारूपण * किया जाना है, इसलिए यह स्पष्ट रूप से महत्वपूर्ण नहीं है। बस मेरे 2 सेंट –
हम्म, लेकिन ऐसा लगता है कि यह "डीबग आउटपुट" चीज़ के रूप में है? एक तरीका मैंने देखा है इस तरह है: बाहर() << एक << बी ...; और बाहर() संरचना एफ {} लौटाता है; टेम्पलेट होने के साथ एफ कॉन्स और ऑपरेटर << (एफ कॉन्स और एफ_, टी कॉन्स) {वापसी f_; }, और फिर लॉग स्तर के आधार पर अलग-अलग structs को वापस कर दें। या अलग-अलग कार्यों या जो भी हो। –