プログラミングゆるめモ

プログラミングに関することをゆるくメモしてます

C++

C++ 配列引数の要素数を得る

2017/05/23

配列の要素数を得る

配列の要素数を得るための計算方法については、数多くのやり方が編み出されてきました。
有名なのはこれでしょうか

_countof()マクロの呼び出し例

 

 

 

配列引数を渡して関数を呼ぶと、呼び先関数では要素数はわからない

これはコンパイルエラーになります。呼び先関数では、配列引数はただのポインタなので要素数は不明です。

 

 

 

呼び先関数で配列の要素数を知る方法

[1]typedef

typedef で定義してしまいます。

 

 

[2]template

templateで定義してみましょう

このままでは、int 型しか使えませんね。

 

[3]templateの汎用化

 

-C++