返回元素数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回元素数量相关的知识,希望对你有一定的参考价值。

如果我用这样的引入指针构建一个函数:

int* c=new int[16];

并归还它

return c;

如何在main()中确定c,(16)的大小。我不能使用sizeof因为c不是数组...

答案

由于c是一个指向int的指针(这就是int* c的意思),你从sizeof(c)得到的正好是int指针的大小。这就是为什么sizeof(c)/sizeof(int*)给你1。

如果将c定义为数组,而不是指针:

int c[16];

你会得到它的大小。

另一答案

您无法获得动态分配的数组中的元素数。它适用于这种情况:

int c[16];
int num_elements=sizeof(c)/sizeof(int);

在你的情况下sizeof(c)可能是4(指针的大小)。

以上是关于返回元素数量的主要内容,如果未能解决你的问题,请参考以下文章

共享元素返回过渡不适用于片段中的 recyclerview 和 cardview

jquery - 返回子元素的数量,但对于不同的父元素

片段之间的共享元素转换

什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]

为啥尽管源代码没有变化,但从一个系统到另一个系统的片段数量却有很大差异?

sql将字符串拆分为始终相同数量的片段