"\n" एक नई लाइन आउटपुट करता है (उपयुक्त प्लेटफ़ॉर्म-विशिष्ट प्रतिनिधित्व में, इसलिए यह विंडोज़ पर "\r\n" उत्पन्न करता है), लेकिन std::endl वही करता है और स्ट्रीम को फ्लश करता है। आम तौर पर, आपको तुरंत स्ट्रीम को फ्लश करने की आवश्यकता नहीं होती है और इससे आपको केवल प्रदर्शन खर्च करना पड़ेगा, इसलिए, अधिकांश भाग के लिए, std::endl का उपयोग करने का कोई कारण नहीं है।
जब आप स्ट्रीम को मैन्युअल रूप से फ़्लश करना चाहते हैं क्योंकि आप उम्मीद करते हैं कि आपका आउटपुट समय पर (यानी बिना देरी के) उपयोगकर्ता को दिखाई देगा, तो आपको स्ट्रीम में '\n' लिखने के बजाय std::endl का उपयोग करना चाहिए।पी>