有没有什么方法可以在不使用for循环的情况下在VC++中查找数组中元素的数量。知道在VC++数组中存储的元素的数量
让我们说数组有16个元素;
int a[16];
a={1,2,3,4,5,6,7};
现在我,如果我想要得到的长度等于7 &不是16(我的意思是我想知道存储在该数组中,而不是让阵列中的空格数的元素的数量) 。有没有类似于C#中的length()
函数? 我在VS2008上使用VC++。
在此先感谢。
有没有什么方法可以在不使用for循环的情况下在VC++中查找数组中元素的数量。知道在VC++数组中存储的元素的数量
让我们说数组有16个元素;
int a[16];
a={1,2,3,4,5,6,7};
现在我,如果我想要得到的长度等于7 &不是16(我的意思是我想知道存储在该数组中,而不是让阵列中的空格数的元素的数量) 。有没有类似于C#中的length()
函数? 我在VS2008上使用VC++。
在此先感谢。
对于内置阵列的数量,做到这一点的唯一方法是让你自己跟踪这个“长度”。没有自动的方式。
然而,更好的方法是使用std::vector<int>
。它会自动跟踪当前的元素数量(“大小”)和可以容纳的元素数量,而无需重新分配数组(“容量”)。
不,这是不可能的,如果你没有填充整个数组,剩余的元素将根据初始化类型填充值。
请注意,C/C++不会对数组进行边界检查,如果数组元素不在数据元素的跟踪位置,语言只是为您提供了一个连续的内存块,您是如何以及是否对您负责用它。以及存储在数组中的元素的数量。
只需使用std::vector即可为您节省很多问题和簿记。
它提供了一个一切正常阵列将但具有许多有用的成员函数等size()
其中做簿记为您关于元素等
没有内置的方式。你需要在自己的某个地方存储号码,或者存储一些结束指示标志。 – BoBTFish
您的代码不合法C++开始。你可以初始化数组,即 - 'int a [16] = {1,2,3,4,5,6,7}' - 但是在事实之后你不能分配它。 –