首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fstream << a(0) << ...<<a(n) vs fstream << a(0);...fstream <<a(n);

fstream << a(0) << ...<<a(n) vs fstream << a(0);...fstream <<a(n);
EN

Stack Overflow用户
提问于 2021-07-28 16:32:34
回答 1查看 63关注 0票数 0

给定许多包含数据a(1) - a(n)的变量,使用std::fstream将这些数据写入文件的最佳方式是什么?有什么区别?

如果我有一个打开的std::fstream到一个文件,我应该使用

代码语言:javascript
复制
std::fstream << a(0) <<"\t" <<
             << a(1) <<"\t" <<
             ...
             << a(n) <<"\n";

代码语言:javascript
复制
std::fstream << a(0);
std::fstream << "\t";
...
std::fstream << a(n);
std::fstream << "\n"; 

是否存在功能或性能上的差异?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-28 16:42:39

代码语言:javascript
复制
std::fstream << a(0) <<"\t" <<
             << a(1) <<"\t" <<
             ...
             << a(n) <<"\n";

basic_ostream::operator<<返回值为basic_ostream &

上面的代码可以重写为:

代码语言:javascript
复制
std::fstream.operator<<( a(0) ).operator<<( "\t" ).operator<<( a(1) )...

即一系列std::ostream.operator<<()调用。

代码语言:javascript
复制
std::fstream << a(0);
std::fstream << "\t";
...
std::fstream << a(n);
std::fstream << "\n"; 

这可以重写为:

代码语言:javascript
复制
std::fstream.operator<<( a(0) );
std::fstream.operator<<( "\t" );
...

即一系列std::fstream.operator<<()调用。

这两种编写输出序列的方法在功能上是相同的。

前者打字更少,更容易阅读。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68556995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档