Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检查数组c+中的值+;_C++_Arrays - Fatal编程技术网

C++ 检查数组c+中的值+;

C++ 检查数组c+中的值+;,c++,arrays,C++,Arrays,我有一个数组: int array[5]; 我将使用这个数组在其中放入一些值。现在我的问题是:在填写了一些数字之后,如何检查数组中I处是否已填写了某些内容?谢谢没有这种“优雅”的方式 唯一的方法是使用一些特殊值,表示“未填充”。比如说, int array[5] = { -1, -1, -1, -1, -1 }; 另一个选项是使用位图,它将告诉您哪些位置已填充,哪些位置未填充。没有这种“优雅”的方式 唯一的方法是使用一些特殊值,表示“未填充”。比如说, int array[5] = { -1

我有一个数组:

int array[5];
我将使用这个数组在其中放入一些值。现在我的问题是:在填写了一些数字之后,如何检查数组中I处是否已填写了某些内容?谢谢

没有这种“优雅”的方式

唯一的方法是使用一些特殊值,表示“未填充”。比如说,

int array[5] = { -1, -1, -1, -1, -1 };
另一个选项是使用位图,它将告诉您哪些位置已填充,哪些位置未填充。

没有这种“优雅”的方式

唯一的方法是使用一些特殊值,表示“未填充”。比如说,

int array[5] = { -1, -1, -1, -1, -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;
}
int数组[5];
int main()
{
数组[0]=1;
数组[1]=2;
数组[3]=1;
对于(int i=0;i<6;i++)
{
if(数组[i]!=NULL)
{

cout那么,您必须询问位于“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;
}
int数组[5];
int main()
{
数组[0]=1;
数组[1]=2;
数组[3]=1;
对于(int i=0;i<6;i++)
{
if(数组[i]!=NULL)
{

cout如果大小写“i”已填充或未填充,则可以使用其他数组保存

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

但是它非常脏。

如果大小写“i”已填充或未填充,则可以使用其他数组保存

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

<>但是它非常脏。< /p> 因为C++,为什么不使用一个容器的STD::对?< /P>

一对元素是布尔值(true IF值被设置),另一个元素是需要的值。

< P>因为C++为什么不使用一个STD::对?
该对中的一个元素是布尔值(如果设置了值,则为true),另一个是需要的值。

用已知值初始化并比较是否不同,确定吗?用已知值初始化并比较是否不同,确定吗?
NULL
只是
定义
0
而已。欠费中可能有一个值
0
,这可能是有效的。他可以通过它,对,但是还有什么?没有。没有回答问题。
NULL
只是
define
0
。欠费中可能有一个值
0
,这可能是有效的。他可以迭代它,对吗?没有。没有回答问题。不需要来自另一个
int
数组。它是一个wa内存不足。可以使用一些“位图”。当然,我使用布尔值编辑(更好),但如何使用位图?我的意思是,您将使用什么数据结构?一个小八倍的整数数组?我将使用一个具有固定大小类型的数组。例如,数组from
uint8\t
,并使用逐位运算来检查每一位。换句话说,在1B中编码8个元素(每一位1个).是的,我想说一个字符数组小八倍。但uint8_t也是如此。@JérômeBoé在这种情况下,最好使用一个表示其实际长度的类型。是的,在每个消费平台上,字符都是八位字节,但标准不保证或要求这样做。
char
是一个“字节”,但标准使用这个词来表示一个存储单元,大小为
char
而不是一个长度为8位的存储单元。不需要来自另一个
int
数组。这是一种内存浪费。可以使用一些“位图”。当然,我使用布尔值编辑(更好),但如何使用位图?我的意思是,您将使用什么数据结构?一个小八倍的整数数组?我将使用一个具有固定大小类型的数组。例如,数组from
uint8\t
,并使用逐位运算来检查每一位。换句话说,在1B中编码8个元素(每一位1个).是的,我想说一个字符数组小八倍。但uint8_t也是如此。@JérômeBoé在这种情况下,最好使用一个表示其实际长度的类型。是的,在每个消费平台上,字符都是八位字节,但标准不保证或要求这样做。
char
是一个“字节”,但该标准使用该词来表示字符大小的存储单元,而不是长度为8位的存储单元。