我有一个类的范围指针的数组没有一个默认的构造函数。正确初始化boost :: scoped_ptr数组的方法?
我发现“初始化”他们正在使用swap()
这样的唯一方法:
class Bar {
Bar(char * message) {};
}
class Foo
{
boost::scoped_ptr<Bar> arr[2];
Foo()
{
arr[0].swap(boost::scoped_ptr<Bar>(new Bar("ABC")));
arr[1].swap(boost::scoped_ptr<Bar>(new Bar("DEF")));
};
}
这感觉有点冗长和沉闷。我错过了更聪明的方式吗?
正如预期的那样,我错过了显而易见的方式。谢谢! – Roddy 2010-07-15 18:58:44
谢谢!我不敢相信我忽略了这一点。 – Vortico 2012-05-10 23:20:38