为了账号安全,请及时绑定邮箱和手机立即绑定

C++编程endl的用法?

C++编程endl的用法?

C++编程endl的用法
查看完整描述

4 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-06-01
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-06-01
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

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;一样不会有什么好下场



查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 1544 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信