看了一篇关于mfc状态的文章,深受启发,但文章最后说到 
"另外,CThreadLocal模板重载了操作符号“*”、“->”,这样编译器将自动地进行有关类型转换,例如: _AFX_THREAD_STATE *pStata = _afxThreadState 是可以被编译器接收的。" "*"号的重载用于类型转换好理解,但“-〉”用于类型转换却百思不得其解!!! 小弟看了看mfc的用法,在“use mfc in a static library”模式下用的是“*”重载, 在“use mfc in a shared dll”模式下用的却是“-〉”转换, 前者好理解,后者怎么会用到,难道_afxThreadState是指针?? 还望不吝赐教!!问题补充:template<class TYPE> 
class CThreadLocal : public CThreadLocalObject 

// Attributes 
public: 
AFX_INLINE TYPE* GetData() 

TYPE* pData = (TYPE*)CThreadLocalObject::GetData(&CreateObject); 
ASSERT(pData != NULL); 
return pData; 

AFX_INLINE TYPE* GetDataNA() 

TYPE* pData = (TYPE*)CThreadLocalObject::GetDataNA(); 
return pData; 

AFX_INLINE operator TYPE*() 
{ return GetData(); } 
AFX_INLINE TYPE* operator->() 
{ return GetData(); } // Implementation 
public: 
static CNoTrackObject* AFXAPI CreateObject() 
{ return new TYPE; } 
}; CThreadLocal<CThreadLocal> _afxThreadState