C++基本概念——你所不知道的sizeof運算符

1.什麼是sizeof?

    sizeof返回一條表達式或者一個類型名字所佔的字節數sizeof運算滿足右結合律,其所得的值是一個size_t類型的的常量表達式。運算符的運算對象有兩種形式:

sizeof (type)
sizeof expr

    在第二種形式中,sizeof返回的是表達式結果類型的大小。與衆不同的一點是,sizeof實際上並不計算表達式的值。

2.如何確定sizeof 返回值的大小?

    sizeof運算符的運算結果部分依賴於其作用的類型:

  • char或者類型爲char的表達式執行sizeof 運算得到的結果爲1。
  • 對引用類型執行sizeof 得到的是引用對象的大小。
  • 對指針執行sizeof 運算得到的是指針本身所佔的空間大小,通常爲4。
  • 對解引用執行sizeof 運算得到的是指針指向的對象所佔的空間大小,指針不需要有效
  • 對數組得到的是整個數組空間的大小
  • string 或者vector 對象執行sizeof 運算只返回該類型固定部分的大小,不會計算對象中的元素佔了多少存儲空間。

.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章