da_*_*u21 0 c++ syntax constructor pimpl-idiom
在阅读pImpl成语的一些内容时,我发现了类似这样的东西:
MyClass::MyClass() : pimpl_( new MyClassImp() )
第一:这是什么意思?
第二:语法是什么?
很抱歉这样的菜鸟.
这定义了构造函数MyClass.
语法是带有初始化列表的构造函数定义的语法(我假设在此之后有一组括号来定义构造函数的主体).
的构件pimpl_的MyClass被初始化为指向类型的新对象MyClassImp.它几乎与以下内容相同:
MyClass::MyClass()
{
pimpl_ = new MyClassImp();
}
Run Code Online (Sandbox Code Playgroud)
但是,最好使用初始化列表尽可能初始化类成员; 请参阅上面链接的C++ FAQ Lite条目.