c++ - 传递给函数时获取包含元素 0 的数组的长度

标签 c++

有什么方法可以打印包含元素 0 的数组的长度,并且该数组已传递给一个只能有一个参数作为数组的函数?

例子:

int arrLen(int arr[])
{
    //get size here;
}

int main()
{
    int arr[]={0,1,2,3,4,5};
    arrLen(arr);
}

在 C++ 中有一个限制,如果数组的元素为零,我们不能将其与 NULL 进行比较,但仍然询问是否有办法做到这一点。我只能将数组传递给函数是我的限制。

最佳答案

在您的示例中,您可以使用函数模板来获取您想要的内容:

template <size_t N>
int arrLen(int (&arr)[N])
{
    return N;
}

关于c++ - 传递给函数时获取包含元素 0 的数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753919/

相关文章:

c++ - 在 C++ 中堆重载和读取文件的二维矩阵

c++ - 当文件被删除并再次创建时,inotify 停止监视文件

c++ - MySQL NDB API AccessViolationException

c++ - 从 'OLE_HANDLE' 转换为 'HICON' 的正确方法是什么?

c++ - 如何使用来自 SSPI 的委派凭据在 Windows 上创建 ProcessAsUser?

c++ - 缩放 3D 形状(OpenGL 和 C++)

c++ - 为什么数组类型不会衰减为类模板的指针?

c++ - 由于 c++11 错误无法构建 GCC

c++ - 私有(private)嵌套类的更短范围解析

java - 绑定(bind)、粘合代码和包装器库