इम सी ++ के लिए नए, तो endlकिस प्रकार का फ़ंक्शन समाप्त हो रहा है? मैं एंडल की तरह कुछ कैसे परिभाषित करूं?
cout << "Hello" << endl;
के रूप में रेखा को समाप्त करने वेब के आसपास मेरे शोध मुझसे कहता है यह एक समारोह है, यदि वह ऐसा कारण है कि हम इसे प्रयोग के बिना कॉल कर सकते हैं प्रयोग किया जाता है "() , "
मुझे लगता है कि जैसे एक समारोह कैसे घोषित करते हैं, हमें लगता है कि मैं एक समारोह है कि बस के बजाय इस तरह हर उपयोग करने के लिए होने की अब सांत्वना हर मैं
string ain()
{
return " : ?";
}
के रूप में इनपुट के लिए पूछना अप tidies बनाना चाहते जाने इस
cout << "Whats your name " << ain();
मैं के रूप में
cout << "Question " << ain;
उपयोग करने में सक्षम होना चाहता हूँ बस अंत में, मुझे पता है कि "()" ज्यादा नहीं है और यह वास्तव में एक टन लोड बचाने के लिए कुछ भी बड़ा नहीं करता है, लेकिन मूल रूप से यह सवाल पूछने के लिए कि मैं अंततः ऐसा क्यों कर सकता हूं।
template< class CharT, class Traits >
std::basic_ostream<CharT, Traits>& endl(std::basic_ostream<CharT, Traits>& os);
std::ostream
के operator<<
यह देख कर कॉल करने के लिए ओवरलोड हो गया है:
* "हम इसका उपयोग किए बिना क्यों कॉल कर सकते हैं"(); "" * आप इसे कॉल नहीं करते हैं। 'std :: ostream :: ऑपरेटर <<' करता है (अधिभार जो पैरामीटर के रूप में फ़ंक्शन पॉइंटर लेता है, संख्या (9), (10) या (11) [यहां] (http://en.cppreference.com/ डब्ल्यू/सीपीपी/कब/basic_ostream/operator_ltlt))। इसके लिए काम करने के लिए, फ़ंक्शन में आप में से एक विशिष्ट हस्ताक्षर होना चाहिए; ['std :: endl'] (http://en.cppreference.com/w/cpp/io/manip/endl) उनमें से एक होता है। –
और कृपया ध्यान दें कि 'std :: endl' की शायद ही कभी आवश्यकता है, हालांकि इसका व्यापक रूप से उपयोग किया जाता है। 'st' :: endl' करता है जो अतिरिक्त सामान किए बिना, \ n '' एक पंक्ति समाप्त करता है। –