struct movie{
int week;
int month;
int year;
int rating;
};
在下面的循环中,我试图打印出struct的向量中的所有信息,我只想在评级中使用小数,但这使得它在第一次迭代后的所有行中都有小数。
for(int i = 0; i < info.size(); i++) {
cout << info.at(i).week << endl;
cout << info.at(i).month << endl;
cout << info.at(i).year << endl;
cout << fixed << setprecision(2) << info.at(i).rating << endl;
}
任何人都知道如何解决这个问题?
另外,如果我没有使用指针并且没有分配动态内存,是否仍然可能发生内存泄漏?
答案 0 :(得分:0)
这很乏味但您可以保存并恢复格式化标记
for(int i = 0; i < info.size(); i++) {
cout << info.at(i).week << endl;
cout << info.at(i).month << endl;
cout << info.at(i).year << endl;
ios_base::fmt_flags save = cout.flags();
cout << fixed << setprecision(2) << info.at(i).rating << endl;
cout.flags(save);
}