【初心者歓迎】C/C++室 Ver.16【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0756デフォルトの名無しさん
2005/05/06(金) 16:05:55安易にマクロを使うのはお勧めできない。
定数は const を使って定義することをまず考えたほうがいい。
ただし、この場合は
std::istream::traits_type::int_type const SEOF = std::istream::traits_type::eof();
となり、かなり冗長な定義になることや、
eof() が関数であることを考えるとマクロで書いた場合に比べて
インライン展開が効かないことによって非効率なコードになるかもしれない。
iostream ライブラリではファイルの終端は
bool eof() で判定するように設計されている。
その他のエラーも考慮して、
while((c=ifs.get())&&ifs.good())
とするのが正解だろう。
■ このスレッドは過去ログ倉庫に格納されています