检查数组c ++中的值

时间:2012-08-02 13:14:43

标签: c++ arrays

我有一个数组:

int array[5];

我将使用此数组在其中添加一些值。现在我的问题是:如何在填写一些数字后检查阵列中是否填充了某些内容?谢谢

5 个答案:

答案 0 :(得分:5)

没有这种“优雅”的方式。

执行此操作的唯一方法是使用一些特殊值,表示“未填充”。例如,

int array[5] = { -1, -1, -1, -1, -1 };

另一种选择是有一个位图,它会告诉你哪些位置被填充,哪些不是。

答案 1 :(得分:2)

数组包含实例化时的值,因此您无法查询它以检查它是否已“填充”。但是您可以保留一个单独的数据结构来跟踪您填充的元素。或者,您可以将数组和其他数据结构包装在一个类中,该类允许您为数组分配值,并检查它们是否已被分配。

答案 2 :(得分:0)

如果已填写“ i ”案例,您可以使用其他阵列保存。

int array[5]
bool filled[5]={false}; 
array[0] = 42; 
filled[0] = true;

但它很脏。

答案 3 :(得分:0)

因为它是C ++为什么不使用std :: pair的容器?

该对中的一个元素是布尔值(如果设置了值,则为true),另一个元素是所需的值。

答案 4 :(得分:-1)

你必须问你的阵列“i”是否= = NULL这样的

int array[5];
int main()
{
    array[0]=1;
    array[1]=2;
    array[3]=1;
    for(int i =0; i < 6;i++)
    {
        if(array[i] != NULL)
        {
            cout<<"Value is: "<<array[i]<<endl;
        }else{
            cout<<"The Value is NULL"<<endl;
            }
    }
    return 0;
}