什么是空白" cout"呢?

时间:2015-10-11 10:00:55

标签: c++ c++11

使用与否的空白cout有什么不同? 此代码为使用cout<<<&#;"";

提供了正确的答案
{{1}}

cout<<&#;"&#34 ;;这里吗?

1 个答案:

答案 0 :(得分:7)

cout << ""不是我认为的“空白cout”。 “空白cout”将是以下内容:

std::cout;

事实上,std::cout << ""会考虑操纵者。例如:

#include <iostream>
#include <iomanip>

int main()
{
    std::cout << std::setw(10);
    std::cout << "";
}

输出:10个空格。

std::cout << ""的另一个可观察效果,​​即使没有任何操纵符,也会将程序输出重定向到文件(类似myprogram.exe > file.txt./myprogram > file.txt)。 std::cout然后写入文件,即使内容保持不变,您也可以观察文件修改日期的变化。

至于你的代码,你有不确定的行为:

    double vag;
    cin>>input;

    while(input>0 || vag>0)
当您尝试从中读取时,

vag未初始化。也许这会引起奇怪的行为?因为,当然,在一个正确的程序中,cout << ""不可能改变结果。试试这个以防止未定义的行为:

double vag = 0.0;

P.S。:#include <bits/stdc++.h>不是标准的C ++。您应该将其更改为#include <iostream>,或者通常更改为特定的标头包含。而using namespace std;是一个坏习惯;即使它在你的示例程序中没有受到伤害,初学者有时也会在头文件中使用全局范围,从长远来看它可能会造成严重破坏。