配列の長さを調べるにはどうすればいいですか? 質問する

配列の長さを調べるにはどうすればいいですか? 質問する

配列にいくつの値があるかを調べる方法はありますか? 配列の末尾に到達したかどうかを検出することもできます。

ベストアンサー1

C スタイルの配列を意味する場合は、次のようにします。

int a[7];
std::cout << "Length of array = " << (sizeof(a)/sizeof(*a)) << std::endl;

これはポインタでは機能しません (つまり、次のいずれかでは機能しません)。

int *p = new int[7];
std::cout << "Length of array = " << (sizeof(p)/sizeof(*p)) << std::endl;

または:

void func(int *p)
{
    std::cout << "Length of array = " << (sizeof(p)/sizeof(*p)) << std::endl;
}

int a[7];
func(a);

C++では、このような動作をしたい場合はコンテナクラスを使用する必要があります。おそらくstd::vector

おすすめ記事