【发布时间】:2011-09-10 18:49:26
【问题描述】:
类似的代码
cin>> grade;
其中等级是标准数据类型,返回对启用级联输入的 cin(istream object) 的引用....
但我读到如果
cin >>grade;
用作while 语句中的条件...流的 void* 强制转换运算符函数被隐式调用...它将对 istream 对象的引用转换为非空或空指针,具体取决于成功或失败最后一个输入操作...空指针转换为假,非空转换为真...我的问题是:
- 什么是 void * cast 运算符函数以及它在此处如何工作
- 非空指针如何转为真,空转为假
【问题讨论】:
-
请注意为什么这很有用:它允许您像
while(cin >> x) { /* do stuff with x */ }一样循环。
标签: c++