gpt4 book ai didi

c++ - 给定 : ifstream infile ("test.txt") is there advantage to use if(! infile)... 与 if(infile.good())...?

转载 作者:行者123 更新时间:2023-11-28 03:21:57 26 4
gpt4 key购买 nike

我在阅读中看到这段代码:

void assure(std::ifstream& infile ) {  
if(!infile) { /* stuff */}
}

出于好奇,我使用函数参数类型 ifstream&ifstream 进行了测试,它似乎有效。我很好奇条件表达式是如何工作的。这是 NULL 对象还是空对象的情况?我认为 C++ 对象不能为 NULL?

由于 !infile 有效,失败的 ifstream 对象如何表示?

感谢您的启发。

最佳答案

它使用 negate operator , 它只是 Hook 到 fail() 检查。

它并不完全与 good() 相反,因为它还检查 EOF (eofbit)。

(是的,引用总是指向一个对象,这个问题没有意义,只有指针可以为 NULL)。

关于c++ - 给定 : ifstream infile ("test.txt") is there advantage to use if(! infile)... 与 if(infile.good())...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com