猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何找到数组的长度?
如何找到数组的长度?
是否有一种方法可以找到一个数组有多少个值?检测我是否已经到达数组的末尾也是可行的。
慕侠2389804
浏览 602
回答 3
3回答
九州编程
正如其他人所说的,您可以使用sizeof(arr)/sizeof(*arr)但是对于不是数组的指针类型,这会给出错误的答案。template<class T, size_t N>constexpr size_t size(T (&)[N]) { return N; }这具有一个很好的属性,即无法为非数组类型编译(visual studio有_countof是这样的)。这个constexpr使它成为编译时表达式,因此它在宏上没有任何缺点(至少我不知道)。您也可以考虑使用std::array在C+11中公开它的长度,而不需要在本地C数组上使用任何开销。C+17有std::size()在<iterator>标头,它做同样的工作,也适用于STL容器(感谢@Jon C).
0
0
0
湖上湖
做sizeof( myArray )将为该数组分配的字节总数。然后,可以通过除以数组中一个元素的大小来找出数组中的元素数:sizeof( myArray[0] )
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续