模板类方法语法

时间:2012-08-18 15:06:18

标签: c++ templates syntax

在以下示例中:

template<class Foo>
struct FooBar 
{
   FooBar(Foo *pObj = 0) : pFoo_(pObj) {}
};

“* pObj = 0”是什么意思?

1 个答案:

答案 0 :(得分:2)

这意味着pObj的默认值,如果调用者没有提供,则为0。在这种特殊情况下,使用NULL(通常是0的宏)会更好。现在有两种方法可以调用它:

FooBar fb = FooBar(); //pObj is NULL
FooBar fb2 = FooBar(someFoo); //pObj is someFoo