IO类型
rea
ifstream和istringstream 继承自istream;ofstream和ostringstream继承自ostream。
IO对象无法拷贝和赋值
估计这里是禁用了拷贝和赋值函数,不能拷贝的连带作用是不能作为形参和返回值类型。
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
void f(ofstream ) //这个居然不报错,奇怪
{}
int main() {
ofstream out1,out2;
out1 = out2; //xxx,operator=(const basic_ofstream&) = delete;
f(out2); //xxx,也是delete
return 0;
}
IO缓冲区刷新
下列语句可能立马输出,也可能不输出,这是操作系统把要写的内容先放到一个缓冲区,缓冲区满再一起操作。
os<<"Please input a value:";
这时就要显式刷新缓冲区。三种:
cout<<""<<endl; //多打个回车
cout<<""<<ends; //多打个空格
cout<<""<<flush; //直接刷新