c++ - 使用C++获取函数内部的数组大小

标签 c++ arrays

如果我在 C++ 中有以下函数:

void functionName(HANDLE arr[100])
{
}

HANDLE hHandles[100];
functionName(hHandles);

有什么方法可以知道 functionName 中 'arr' 的大小吗? (没有在那里硬编码)

最佳答案

使用模板捕捉T[N]中的N

template <size_t N>
void function(HANDLE (&arr)[N]) 
{
  std::cout << N << " is here\n";
}

关于c++ - 使用C++获取函数内部的数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9316902/

相关文章:

c++ - 如何初始化指向 nullptr 的指针 union ?

c++ - 将 std::transform 与 std::back_inserter 一起使用是否有效?

c++ - 在 C++ 中,命名空间用于什么?

javascript - 如何将新对象中的字段值设置为等于数组中字段的最高值?

arrays - 在 View Controller 之间传递数组数据

c - 在 C 头文件中,我看到 `[*]` 用作数组绑定(bind)。这是什么意思?

c++ - 为什么在声明为 size 的 vector 上使用 push_back 会导致 vector 为零?

c++ - 针对不同数据类型的单一结构调整方法

c - free() 函数在几次 memmove 后导致崩溃

java - 如何将嵌套循环转换为嵌套流?