栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++流可以作为条件判断的原因

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++流可以作为条件判断的原因

我们在C++中使用输入输出功能时,按网上搜索到的经验可以知道,通常有类似下面的写法:

//初学C++时应该就知道了,>>和<<运算符的计算值为流对象本身,因此后面可以继续链接其它要输出对象
while (std::cin >> n) {
    std::cout << n << 'n';
}

或者

std::ifstream input("filename.txt"); //从文本文件中输入
std::string line;

//从文件中一行一行读取,getline的返回值为第一个参数的引用,也就是流
while (getline(input, line) {
    std::cout << line << 'n';
}

这里都将流作为条件进行判断,但是为什么流对象可以作为布尔值呢?

首先上一张stream类之间的继承关系图:

从这幅图可以看出,所有常用的stream类都继承自std::basic_ios。
而该类有一个函数:std::basic_ios::operator bool()
详情请自行查看 CppReference

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号