C++ 速查手冊

4.6 - sizeof 運算

C++ 的關鍵字 sizeof運算子,用途作為計算物件或資料型態所佔的位元組數 (byte) ,有三種用法,下面是第一種

sizeof (type);

sizeof 後面用小括弧圍住型態名稱,就會回傳該型態所佔的位元組數。下面是第二種

sizeof expression;

每個運算式都會計算出一個數值,每個數值都有型態,因此加入 sizeof 的複合運算式會回傳最終運算結果的位元組數。下面是第三種

sizeof ... (parameter_pack);

這是 C++11 新增的用法,用在樣板 (template) 的地方,回傳參數包 (parameter pack) 的元素總數。

舉例如下

#include <iostream>
  
int main() {
    std::cout << "bool : " << sizeof(bool) << std::endl;
    std::cout << "char : " << sizeof(char) << std::endl;
    std::cout << "int : " << sizeof(int) << std::endl;
    std::cout << "double : " << sizeof(double) << std::endl;
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
   https://kaiching.org/
   檔名:u0406.cpp
   功能:示範 C++ 的 sizeof 運算
   作者:張凱慶*/

編譯後執行,結果如下

$ g++ u0406.cpp
$ ./a.out
bool : 1
char : 1
int : 4
double : 8
$

上一頁 4.5 - 位元運算
回 C++ 速查手冊首頁
下一頁 4.7 - typeid 運算