Code Bye

问一下下C++里怎么样获得一个数组里元素的个数

    例如本人定义一个数组 iint  x_data[1280],先不初始化,然后本人再给它赋N个整数(数的个数和大小都是未知的),那么赋值完成后本人要怎么样获取这个数组里元素的个数呢?本人想了下,用sizeof(x_data)肯定是不行的,原因是本人已经定义好了它的大小为1280,所以sizeof”以后的结果应该就是4*1280=5120。求高手解答!
解决方案

5

没法子。
没有初始化的数据,不表示中间没有存储什么值
只是表示这个数据的值,没有指定,
因而,没有清晰的,确定的意义。
假如非要,不初始化,而往里面填值,
并且需要知道有多少个数据(元素)中间的值,是有意义的(经过填充的),
用另外一个变量,记录有多少个元素填充了就可以了。

10

既然你说这N个数个数不确定,那建议用vector、array等容器,可以自动增长内存,同时容器会记录元素个数,可以用size()函数得到

10

要么读的时候遍历计算出个数,要么就是拿一个变量纪录已经放入的个数

5

这种情况一般是把数组定义为一个类来操作,然后用一个成员变量来保存现在数组中实际的元素个数。

5

嗯,有C++的容器类。
在不初始化的条件下,读入元素的个数是无解的啊。
除非就是事先记录下来。

5

可以定义一个变量来统计赋值的数量

5

自定义个数据结构体

5

这个除非你用标准库vector,通过size函数获取;
要不就是有个辅助变量,每次你赋值的时候+1;
不然就是你的数组存的值有固定的取值范围,从0开始遍历到不在取值范围内的那个元素的下标就是元素个数。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明问一下下C++里怎么样获得一个数组里元素的个数