本文主要是介绍【C++】operator bool() 和 operator const bool() const,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、问题描述
在走读QtCreator源码时,看到如下运算符重载
源码在QtCreator-v4.9.2中 src\plugins\projectexplorer\projectexplorer.h
class OpenProjectResult
{
public:OpenProjectResult(const QList<Project *> &projects, const QList<Project *> &alreadyOpen,const QString &errorMessage): m_projects(projects), m_alreadyOpen(alreadyOpen),m_errorMessage(errorMessage){ }explicit operator bool() const{return m_errorMessage.isEmpty() && m_alreadyOpen.isEmpty();}...}
突然看见这个函数 explicit operator bool() const:一时没明白这个运算符重载的是什么。bing后才知道,本类型对象到bool的隐式转换。
使用方法,以上面OpenProjectResult类为例
OpenProjectResult result;if (result)...
2、参考博客
https://blog.csdn.net/znzxc/article/details/80385995
这篇关于【C++】operator bool() 和 operator const bool() const的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!