1。什么是流?有几种流
流是用来进行读写的对象,为此标准库定义了,而QT定义了来提供对应的功能。流通常用来对文件,网络连接以及字符串进行读写,一个非常有用的特征就是她可以方便的从复合类型数据生成字符串。iostream定义了3个全局流:cin---键盘标准输入流;cout---控制台标准输出流(控制台屏幕);cerr---标准错误流...也定义了flush和endl等控制符,一个控制符可以添加到:输出流:以此来改变数据输出的格式;输入流:以此改变输入数据的解析方法。
2。给出使用ostrstream流的理由
iostream为内置类型类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持自定义类型的输入输出操作
3。getline 和 >>操作符的区别是什么?
函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'/n'分开。
4。指针和引用之间的区别是什么?
从现象上看:指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变 ,从内存分配上看:程序为指针变量分配内存区域,而引用不分配内存区域,一个引用必须总是指向某些对象,在C++里,引用应被初始化。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。
5。为什么函数main(int argc,char argv[])有时候带参数?他们有何作用?
#include #include #include int main(){ using namespace std; ostringstream strbuf; /*写入字符串*/ int lucky = 7; float pi = 3.14; double e = 2.71; strbuf << "luckynumber" << lucky << endl <<"pi" << pi << endl <<"e" << e << endl string strval = strbuf.str();/*把stringstream换成字符串*/ cout << strval; ofstream outf; outf.open("mydata");/*创建一个磁盘文件来读写*/ outf << strval; outf.close; ifstream inf; inf.open("mydata"); string newstr; int lucky2; inf >> newstr >>lucky2; if(lucky != lucky2){ ceer << "Error wrong lucky number" << endl; } float pi2; inf >> newstr >> e2; if (pi2 != pi){ cerr << "Error wrong pi." << endl; } inf.open("mydata"); while (not inf.eof()){ getline(inf ,newstr); cout << newstr << endl; } inf.close(); return 0; }