在以下示例中:

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


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

最佳答案

这意味着如果呼叫者不提供pObj,则默认值0NULL。在这种情况下,最好使用0(通常是的宏)。现在有两种调用方法:

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

关于c++ - 模板类方法语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12019629/

10-10 08:08