【发布时间】:2016-11-30 15:29:32
【问题描述】:
我需要将向量声明并初始化为名为@987654321@ 的类的字段。
我在这两种声明方法之间纠结,第一种是“在堆上”,第二种是“在栈上”(或者至少,这是我的解释)。
vector<int>* field = new vector<int>();vector<int> field = vector<int>();
如果我选择在样式1中声明,我需要在类的析构函数中调用delete。
我应该选择哪一个,为什么?
另外,如果类在堆上初始化(即PixelOperator* op = new PixelOperator();),在栈上初始化的字段是否在堆上初始化?
【问题讨论】:
标签: c++ class initialization field declaration