应该将istream作为引用或const引用传递吗?

use*_*311 1 c++

应该将istream作为引用或const引用传递吗?

我只需要从istream中提取字符串,而不是以任何方式修改istream.如果我不打算修改它,是否有理由不将它作为const引用传递?

Joh*_*nck 5

通常,流由非const引用传递.这是因为大多数有用的操作(如插入(写入)和提取(读取))实际上都会修改流状态.使用const引用,您所能做的就是检查现有状态,例如错误标志.