这定义好了吗?
Streamreader ^reader = gcnew Streamreader("test.txt");
String ^line;
while ((line = reader->ReadLine()) != nullptr && line != "")
{
//do stuff
}
我相信我在某处读到,不能保证在第二个条件之前执行分配。可能是我错了,或者这仅适用于 C。
谷歌没有帮助我,这就是我在这里问的原因:)
这定义好了吗?
Streamreader ^reader = gcnew Streamreader("test.txt");
String ^line;
while ((line = reader->ReadLine()) != nullptr && line != "")
{
//do stuff
}
我相信我在某处读到,不能保证在第二个条件之前执行分配。可能是我错了,或者这仅适用于 C。
谷歌没有帮助我,这就是我在这里问的原因:)
使用 && 和 ||,保证在评估第二个条件之前评估第一个条件(包括赋值)。
另一方面,对于按位 & 和 |,没有这样的保证。
这里有一个相关的答案,有很多很好的参考资料:短路逻辑运算符是强制性的吗?和评价顺序?
如果您没有重载 && 和 || 的简短回答 你会得到短路评估,从左到右。看看链接。