计算字符串数组c ++中的字符串?

ton*_*nni 8 c++ string count

如何对字符串数组中的字符串数进行求和,其中未明确定义需要多少元素?

string str[] = { "astring", "bstring", "cstring", "dstring", "zstring" };
Run Code Online (Sandbox Code Playgroud)

需要找出阵列有多少元素?

Cas*_*Cow 10

template< typename T, size_t N >
/*constexpr*/ size_t size( T(&arr)[N]) )
{
   return N;
}
Run Code Online (Sandbox Code Playgroud)

constexpr 如果可用(C++ 11)将允许您将静态(编译时)用法的返回值用作另一个数组的大小.


tro*_*foe 8

如果str[]是静态定义的(如图所示),那么这将起作用:

const size_t numElements = sizeof(str) / sizeof(str[0]);
Run Code Online (Sandbox Code Playgroud)

如果它是动态创建的,那么你将需要一个标记来指示最后一个元素(0如果它是一个指针数组,通常会使用它).无论是那个还是调用者都告诉你有多少元素(也很常见).