我是C++的新手,我自己学习它,并且正在使用Deitel的书籍“C++如何编程 - 第7版”。现在,请当我删除了“固定的”流处理器看看下面的代码“固定”流操纵器被移除时的问题
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double principle = 1000;
double amount;
double rate = 0.05;
cout << "Year" << setw(21) << "Amount on deposit" << endl;
cout << fixed << setprecision(2);
for(int years=1; years<=10; years++)
{
amount = principle * pow(1.0+rate,1.0);
cout << setw(4) << years << setw(21) << amount << endl;
}
}
,输出变成愚蠢的,这意味着,只要ASCII字母和数字。当我插入它时,输出没有任何问题。我的问题是,为什么会发生这种情况?对于所有具有“双”型输出的程序,“固定”是强制性的吗?请帮忙。
另一件事。什么是流操纵器?作为一名Java开发人员,我认为这些可能是某种常量变量,但事实并非如此!他们是方法?那为什么括号不在那里?请回答这个问题。
感谢
操纵器是功能。棘手的一点是你没有调用函数并将结果发送到流,你实际上将函数_themselves_发送到流(这就是为什么没有括号)。该流识别函数的类型,然后调用将其自身作为参数的函数。然后'setw'函数修改流的宽度。他们这样做的原因是因为你可以编写一个从未见过的新功能并简单地使用它。枚举是不可能的。 – 2014-03-21 03:21:37