一段代码的疑点

一段代码的疑问CATIMfgManufacturingParameters *piParm NULLCATString ClassName2(CATMfgManufacturin

一段代码的疑问
CATIMfgManufacturingParameters *piParm =NULL;

CATString ClassName2("CATMfgManufacturingParameters");
    ::CATInstantiateComponent (ClassName2,
                            CATIMfgManufacturingParameters::ClassId(),
                            (void**)& piParm);
 
    CATICkeParmFactory_var spFactL(piRootActivity);
if (piParm && !!spFactL)
{
          some code here
        }

想问问if语句中spFactL的前边的!!是什么意思?双重否定?

[解决办法]
据说!!是为了转换为bool类型。参见:http://stackoverflow.com/questions/248693/double-negation-in-c-code