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