【C++】operator bool() 和 operator const bool() const

1、问题描述

在走读QtCreator源码时,看到如下运算符重载
源码在QtCreator-v4.9.2中 src\plugins\projectexplorer\projectexplorer.h

class OpenProjectResult
{
public:
	OpenProjectResult(const QList &projects, const QList &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++)