在C ++中,我有一个类CMyObject,如下所示,其中CData是另一个类名:
Class CMyObject
{
CMyObject(CData& Data): m_Data(Data) {};
virtual ~CMyObject(void);
private:
const CData& m_Data;
}
分配一个CMyObject实例时,我可以这样做:
P = new CMyObject(MyData);
但是,如果我想创建一个CMyObject数组,那么我可以这样做吗?
P = new CMyObject(MyData)[10];
答案 0 :(得分:1)
你可以使用初始化列表(我用4来保存一些打字,但你明白了):
CMyObject* P = new CMyObject[4]{MyData, MyData, MyData, MyData};
但更好的是,使用std::vector
:
std::vector<CMyObject> P(10, MyData);