इस खंड में हम देखेंगे कि C++ में cout <
तो कंसोल या फ़ाइल में लाइनों को प्रिंट करते समय हमें std::endl से क्यों बचना चाहिए। हम वर्तमान लाइन के बाद एक नई लाइन बनाने के लिए std::endl का उपयोग करते हैं। आईओ संचालन की कुछ पंक्तियों के लिए, यह कोई समस्या नहीं बना रहा है। लेकिन बड़ी मात्रा में IO कार्यों के लिए, यह प्रदर्शन को कम कर देता है।
एंडल का उपयोग नई लाइन बनाने के लिए किया जाता है, लेकिन यह केवल नई लाइन को नहीं भेजता है, अगली लाइन पर कर्सर भेजने के बाद यह हर बार बफर को फ्लश करता है।
बफ़र्स को फ्लश करना प्रोग्रामर का काम नहीं है; इसके लिए ऑपरेटिंग सिस्टम जिम्मेदार है। हर बार जब यह फ्लशिंग के लिए अनुरोध करता है, तो यह ऑपरेटिंग सिस्टम से अनुरोध करता है। यह अनुरोध अपेक्षाकृत महंगा है। और हमें वास्तव में कुछ पंक्तियों को लिखने के बाद हर बार बफ़र्स को फ्लश करने की आवश्यकता नहीं है। IO स्ट्रीम बफ़र के भर जाने पर अपने आप साफ़ हो जाती है।
यदि हम std::endl का उपयोग करके फ़ाइल में टेक्स्ट की लगभग 100000 पंक्तियों को लिखने के लिए आवश्यक समय का विश्लेषण करते हैं, और '\n' का उपयोग करके हम आसानी से अंतर देख सकते हैं। कोड जो std::endl का उपयोग कर रहा है, उसके बाद '\n' का उपयोग करने की तुलना में कार्य को पूरा करने में लगभग दो गुना अधिक समय ले रहा है।