cout << "IFoo@" << static_cast<void*>(foop) << endl;
cout << "IFoo@" << STATIC_CAST(void*, foop) << endl;
CreateIFoo( void** result )		// a typical factory function (that calls AddRef)	{		cout << ">>CreateIFoo() --> ";		IFoo* foop = new IFoo;		cout << "IFoo@" << static_cast<void*>(foop) << endl;		foop->AddRef();		*result = foop;		cout << "<<CreateIFoo()" << endl;		return 0;	}