我想new一个list的数组str,写了如下代码; list * H = new list[3]; 结果str里面存放的string长度被限制成了8*3=24字节。 H[1].push_back(str);//str最多为8*3=24个字符;? 为什么呢? new对象数组怎么初始化呢?下面这样对么? for(int i=0;i<3;i++) { H[i] = new list();
} 新来的分很少,谢谢大神给予解答。
最佳答案
五星知识达人网友:轮獄道
2021-02-06 12:08
for(int i=0;i<3;i++)
{
H[i] = new list();
}
干嘛又要new呢?H[i]是数组元素,类型是list,不是list* ,不能这么初始化
全部回答
1楼网友:酒者煙囻
2021-02-06 12:13
就跟申请其他的一样的。比如一个类的名字是 point那么这样申请对象数组。
point* ppt = new point[10]; // 申请10个point对象