我有一个如下声明的 C++ 数组:
CString carray[] =
{
"A",
"B",
"C",
"D",
"E"
}
我想在运行时确定carray
的长度。我正在做:
int iLength = sizeof(carray)/sizeof(CString);
这是正确的吗?
最佳答案
您可以使用以下功能模板。如果您使用的是 Boost,您可以调用 boost::size
.
template <typename T, std::size_t N>
std::size_t size(T (&)[N])
{
return N;
}
int iLength = size(carray);
然而,正如其他人已经指出的那样,您应该更喜欢 std::vector
而不是 C 风格的数组。
关于c++ - 计算数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1124534/