template <> class CComObjectLockT<CComSingleThreadModel>;
请大侠指点一点. 这个语句是什么意思.  
全文是. 
template <class ThreadModel>
class CComObjectLockT
{
public:
CComObjectLockT(CComObjectRootEx<ThreadModel>* p)
{
if (p)
p->Lock();
m_p = p;
} ~CComObjectLockT()
{
if (m_p)
m_p->Unlock();
}
CComObjectRootEx<ThreadModel>* m_p;
};template <> class CComObjectLockT<CComSingleThreadModel>;

解决方案 »

  1.   

    这是传说仲的模板专门化,建议楼主买本经典些的c++书看看。例如,the c++ programming language.
      

  2.   

    to 
    这个特化是指什么意思,可不可以这样理解. CComObjectLockT mtt; 就相当于CComObjectLockT <CComSingleThreadModel> mtt;
      

  3.   


    不能这么认为,template <> class CComObjectLockT <CComSingleThreadModel>; 这句话在这里只是声明了一下当传人的模板参数是CComSingleThreadModel类型的时候, 例如CComObjectLockT <CComSingleThreadModel> mtt;就使用专门化的类型定义。真正的专门化在下面定义里了。
    template <>
    class CComObjectLockT<CComSingleThreadModel>
    {
    public:
    CComObjectLockT(CComObjectRootEx<CComSingleThreadModel>*) {}
    ~CComObjectLockT() {}
    };如果不是CComSingleThreadModel类型,就用默认的模板去处理,这里的默认模板就是楼主上面的全文那里介绍的。