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