本文介绍了从C ++中的数组中删除对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

水果类:

#include <string>
using namespace std;

class Fruits {
    string color;
public:
    Fruits() {
        color = "r";
    }
};

主要:

#include "Fruits.cpp"

void main() {
    Fruits* fruits[6];
    fruits[0] = new Fruits();
//  delete[] fruits[0];  // <-- does not work (deletes one object)
//  delete[] fruits; //     <-- does not work (deletes all objects in the array)
}

我该怎么做?

推荐答案

删除水果[0] 将为您删除该对象. delete [] 而是用于删除该数组的所有非null元素,但是 fruits [0] 不是对象数组.

delete fruits[0] will delete that one object for you. delete[] instead serves to delete all non-null elements of that array, but fruits[0] is not an array of objects.

这篇关于从C ++中的数组中删除对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 10:01