我想知道运营商的回报是什么!在 C++ 中的_bstr_t
类型(字符串)上。
例子:
if (!!mybstr)
{
doSomething()
} else {
doNothing()
}
我认为这是一个布尔返回,但它是如何工作的?
谢谢!
_bstr_t::operator!
true
如果封装的BSTR
字符串是,则返回NULL
。如果封装的字符串不是,!!mybstr
也会如此。true
BSTR
NULL
!!
不是运算符。这只是!
运算符的两个应用程序。对于普通bool
值,净效果是无操作。对于隐式转换为 的类型bool
,它有时用于强制转换为bool
. 对于operator!
重载的类型,它可以根据operator!
.
if (!!mybstr) = if (!(!mybstr)) = if (mybstr)