asv*_*kau 38
一个是C,一个是C++.番茄,番茄.(当你把它写出来时,那个表达式几乎不起作用.)我的猜测是你不太可能看到性能差异.
一个非常C++倾向,反C的人可能会告诉你一些fstream能够更轻松地处理不同类型的东西.有了FILE你有两个选择-交易中的字节或买卖格式字符串.自从printf或fwrite等.不知道他们的论点的"真实"类型是什么,这使得它更容易搞砸.还有一个事实是C++类将有一个析构函数,因此当对象超出范围时,您可以"免费"清理.(虽然...你真的要像fflush在析构函数默默发生吗?也许不是).为了这些各种各样的论据我会说,这是不是真的是沉重的负担使用FILE,但是,嘿,有些人感觉更强烈在这些事情上比我.
最终将归结到正是您的应用程序正在试图做的,它可能是FILE,fstream或两者能充分满足您的需求.
选择有效的方法,灵活应对其他人的选择,理解争论,不要过于虔诚.这是我的建议.:-)
Jef*_*ust 14
想像:
void read(istream&istr)
我们可以传入ifstream,istrstream甚至cin.这对于单元测试非常有用.
std::fstream 是类型安全的,具有国际化支持并且(警告:意见)更易于使用。
当 astd::fstream超出范围时,它会为您销毁,无论您是否忘记了fstream::close()它。
| 归档时间: |
|
| 查看次数: |
20402 次 |
| 最近记录: |