c ++初始化匿名数组

时间:2013-02-20 00:44:12

标签: c++ arrays initialization

我一直在寻找并且无法找到有关初始化阵列的任何信息。 我想说

Card * c = new Card( new Event * []{ new Event(a), new Event(b) } );

但我认为这不可能。是对的吗? 我知道你可以说

int ns [] = { 1,2 };

但似乎我无法初始化到位? 这样做的最佳方式是什么?

由于

1 个答案:

答案 0 :(得分:0)

您可以这样初始化:

Card cards[] = {
    Card(),
    Card()
};

或者:

Card* cards[] = {
    new Card(),
    new Card()
};

最后一种方法,您将不得不在以后释放这些对象:

delete cards[0];
delete cards[1];

但是,一般来说,我们希望动态地使用malloc / new或使用std::vector来完成所有操作。