C++编程endl的用法?

C++编程endl的用法


天涯尽头无女友
浏览 1568回答 4
4回答

喵喔喔

这里endl指输出(cout)的时候换行,即一行结束,类似于输入时的enter键,如果不用endl,其实也有输出,只不过输出结果全在一行里面,之间连空格都没有。而你在输入(cin)的时候,一般输入完毕会按enter键,指确定输入,然后程序继续运行,到了第二处输入时,再输入,再enter,程序能够识别,无需你换行(endl),当然,你输入内容较多时,可以在两者之间加空格,就ok了

眼眸繁星

你需要明白这些概念:cin是读入标准输入的istream对象cout是写到标准输出的ostream对象>>操作符是用于从istream对象中读入输入<<操作符用于把输出写到ostream中endl是输出一个换行符并刷新缓冲区就是说endl是输出方面的,不能用于cin以及>>

犯罪嫌疑人X

endl是一个模板函数名template<typename _CharT, typename _Traits>basic_ostream<_CharT, _Traits>&endl(basic_ostream<_CharT, _Traits>& __os){ return flush(__os.put(__os.widen('\n'))); }详细的不说了,反正基本上可以这样理解,光一个不带括号的endl就是一个函数指针常量,参数是输出流,返回值是输出流的引用,然后在输出流里重载了<<运算,对这种函数指针做 os << fun 操作就相当于调用 fun(os)。使用cout << endl;就相当于调用endl(cout);你可以声明一个函数ostream& hahaha(ostream& os){os << "Hello World!!";return os;}然后使用 cout << hahaha << endl;看看会发生什么这种函数称为操作算子,常用的有left,right,hex什么的,你可以自己搜一下对输入流来说cin >> endl;当然会报错,因为没有重载,你往一个函数指针常量里输入,就像cin >> printf;或是cin >> strcpy;一样不会有什么好下场
打开App,查看更多内容
随时随地看视频慕课网APP