现在的位置: 首页 > 综合 > 正文

C++易迷惑的基础知识(2)

2013年01月31日 ⁄ 综合 ⁄ 共 579字 ⁄ 字号 评论关闭

1.操纵算子被使用在输入或输出表达式中,用来改变流的状态。最常用的是endl。

2.endl并不单纯的是'\n'的替代品,endl除了可以在流中插入一个换行符,还可以刷新流的缓冲区。

以下程序比较了endl和'\n'的区别:

例1.使用'\n'换行

#include<iostream>
int main()
{
std::cout<<1<<'\n';
std::cout<<2;
char c;
std::cin>>c;
return 0;
}

例2.使用endl换行

#include<iostream>
int main()
{
std::cout<<1<<std::endl;
std::cout<<2;
char c;
std::cin>>c;
return 0;
}

通过实验可以发现两个程序的输出结果并没有什么不同,但是如果尝试单步调试这两个程序可以发现

用'\n'来换行,在std::cout<<1<<'\n';这句话时窗口并没有任何显示,因为1和'\n'在缓冲区中了。而用

endl来换行,在std::cout<<1<<std::endl;这句话时窗口显示1并且光标显示在下一行,说明操作算子endl

插入换行符后,还刷新流的缓冲区了。

通过这一点我们可以用来调试程序,多处设置cout语句,并用endl来刷新缓冲区以显示部分内容,而

不至于对于只有最后才能输出结果的程序提前崩溃而没有办法输出,看不到结果。

抱歉!评论已关闭.