在以下示例中:
template<class Foo>
struct FooBar
{
FooBar(Foo *pObj = 0) : pFoo_(pObj) {}
};
“* pObj = 0”是什么意思?
答案 0 :(得分:2)
这意味着pObj
的默认值,如果调用者没有提供,则为0
。在这种特殊情况下,使用NULL
(通常是0
的宏)会更好。现在有两种方法可以调用它:
FooBar fb = FooBar(); //pObj is NULL
FooBar fb2 = FooBar(someFoo); //pObj is someFoo