C++におけるsizeofの使い方は何ですか?

C++において、sizeofは、型や変数のサイズ(バイト単位で)を取得するための演算子です。その構文は以下の通りです:

型のサイズ
式のサイズ

typeはデータの型を示し、expressionは式または変数を指す。

sizeof演算子の結果の型はsize_tであり、これは符号なし整数型です。

sizeof演算子には2つの使い方があります。

  1. 型のサイズを取得するために使用します。例えば、sizeof(int)はint型のサイズを返し、sizeof(double)はdouble型のサイズを返します。
  2. expressionのサイズを取得するために使用されます。例えば、sizeof(arr)は配列arrのサイズを返し、sizeof(x)は変数xのサイズを返します。

注意すべきことは、sizeof演算子は式の値を実際に計算しないことであり、コンパイル時に式や変数のサイズを決定することです。したがって、sizeof(arr)の中のarrは変更されたり呼び出されたりしません。

配列型に関して、sizeofは配列全体のサイズを返すため、単に最初の要素を指すポインタのサイズだけではない。

例えば、以下の例はsizeof演算子の使い方を示しています。

#include <iostream>

int main() {
    int x = 5;
    int arr[10];

    std::cout << "Size of int: " << sizeof(int) << " bytes" << std::endl;
    std::cout << "Size of double: " << sizeof(double) << " bytes" << std::endl;
    std::cout << "Size of x: " << sizeof(x) << " bytes" << std::endl;
    std::cout << "Size of arr: " << sizeof(arr) << " bytes" << std::endl;

    return 0;
}

出力結果:

Size of int: 4 bytes
Size of double: 8 bytes
Size of x: 4 bytes
Size of arr: 40 bytes

この例で、intのサイズは4バイトであるため、sizeof(int)は4を返します。xのサイズも4バイトで、int型であるため、sizeof(x)も4を返します。そして、arrのサイズは40バイトで、arr配列に10個のint型要素が含まれるため、各要素が4バイトずつ占めるため、総サイズは40バイトとなります。

bannerAds