【发布时间】:2013-01-03 09:38:03
【问题描述】:
我知道,一般来说,对数据的引用应该被隔离为函数中的常量,这样函数就无法更改它,对于仅用于输入的 fstream 对象是否同样适用?
比如……
void doFoo(fstream &fileName)
{
fileName.open("data.txt", ios::in);
}
如果它是可取的,它是否遵循与大多数其他事情相同的逻辑?
比如……
void doFoo(const fstream &fileName)
{
fileName.open("data.txt", ios::in);
}
也对输出流感到好奇
我只是想知道这是否重要,如果重要,为什么?
谢谢!
【问题讨论】:
-
尝试编译第二个。这是对两者的错误的补充。
-
简短回答:不。您基本上总是通过非常量引用传递 iostream。
标签: c++ function constants pass-by-reference fstream