C sizeof演算子 新しいページはコチラ
提供: yonewiki
(ページの作成:「※このページではC言語にも存在していたという意味で記事タイトルがC sizeof演算子になっていますが、<br /> C++でも...」) |
(→sizeof演算子) |
||
4行: | 4行: | ||
== '''sizeof演算子''' == | == '''sizeof演算子''' == | ||
変数が利用しているメモリの大きさを知るための演算子です。演算子ですので、マクロや関数として変数の大きさが定義されるようなものではなく、sizeof演算子独自の動作によって、メモリの利用状態を取得しています。sizeof演算子によって返される数字はバイト単位の大きさを整数値で表現するものです。クラスや関数の大きさも取得できるので、かなり大きなサイズになる場合もありますが、せいぜいunsigned int型くらいで表現できる大きさ4GByteに十分収まる大きさだと思います。これ以上の大きさのクラスや関数が存在するとしたら、なんか作り方がおかしいとしかいいようがないですし、別の次元のプログラムになると思われます。そういった技術は独自に演算制御するプログラム言語の世界へと旅立つ必要があるのかなぁと想像します。たぶんそんな状況って無いと思いますけど。 | 変数が利用しているメモリの大きさを知るための演算子です。演算子ですので、マクロや関数として変数の大きさが定義されるようなものではなく、sizeof演算子独自の動作によって、メモリの利用状態を取得しています。sizeof演算子によって返される数字はバイト単位の大きさを整数値で表現するものです。クラスや関数の大きさも取得できるので、かなり大きなサイズになる場合もありますが、せいぜいunsigned int型くらいで表現できる大きさ4GByteに十分収まる大きさだと思います。これ以上の大きさのクラスや関数が存在するとしたら、なんか作り方がおかしいとしかいいようがないですし、別の次元のプログラムになると思われます。そういった技術は独自に演算制御するプログラム言語の世界へと旅立つ必要があるのかなぁと想像します。たぶんそんな状況って無いと思いますけど。 | ||
+ | |||
+ | |||
+ | VisualStudioでは、sizeof演算子の戻り値はsize_t型で扱うことになっていますが、結局はunsigned intになることが多いと思います。戻り値は処理系によって異なる型になっていますので、使っている開発環境によっては動きが異なる場合があることは頭の片隅においておく必要があるかもしれません。滅多なことでは、この戻り値の型で悩まされるようなこともないと思います。 | ||