C++ 速查手冊 V1.00 - 單元 4.6 - sizeof 運算




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


sizeof (type);


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


sizeof expression;


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


sizeof ... (parameter_pack);


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


舉例如下


001 #include <iostream>
002
003 int main() {
004    std::cout << "bool : "
005              << sizeof(bool)
006              << std::endl;
007    std::cout << "char : "
008              << sizeof(char)
009              << std::endl;
010    std::cout << "int : "
011              << sizeof(int)
012              << std::endl;
013    std::cout << "double : "
014              << sizeof(double)
015              << std::endl;
016
017    return 0;
018 }
019  
020 /* Kaiching Chang
021    u0406.cpp
022    2014-02 */

編譯後執行,結果如下


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

continue ...

沒有留言: