來自c primer5的sizeof運算子

2022-06-27 22:15:08 字數 557 閱讀 2307

sizeof運算子返回到一條表示式或型別名字所占用的位元組數。sizeof運算子滿足右結合律,其所得的值是乙個size_t 型別的常量表示式。運算子的運算物件有兩種形式:

因為sizeof滿足右結合律並且與*運算子的優先順序一樣,所以表示式按照從右向左組合。也就是說sizeof(*p)。其次因為sizeof不會實際求運算物件的值,所以即使p是乙個無效的指標也不會有什麼影響。在sizeof的運算物件中解引用乙個無效的指標仍然是一種安全的行為,因為實際上並沒有被真正的使用。sizeof不需要真的解引用指標也能知道他所指的物件的型別。

c++11 新標準允許我們使用作用於運算子來獲取類成員的大小。通常情況下只有通過類的物件才能訪問類的成員,但是sizeof運算子無須我們提供乙個具體的物件,因為想要知道類成員的大小無須真的獲取該成員。

因為sizoef的返回值是乙個常量表示式,所以我們可以用sizeof的結果宣告陣列的維度。

重新學習《C Primer5》第13章 拷貝控制

13.1.1拷貝建構函式 1.拷貝建構函式 自定義和合成 2.拷貝初始化 3.拷貝初始化的限制 explicit的建構函式進行型別轉換,直接初始化和拷貝初始化不一樣了 13.1.2 拷貝賦值運算子 1.賦值元演算法通常應該返回乙個指向其左側運算物件的引用 13.1.3 析構函式 1.當指向乙個物件的...

C Primer5 第四章課後練習 筆記

典型算術運算規則 c 11標準規定,兩整數相除,商一律向 取整。取餘 m n 等於m n,m n等於 m n 編寫程式,使用條件運算子從vector中找到哪些元素是奇數,然後將這些數翻倍 include include include includeusing namespace std int m...

c primer 基於過程的設計 5

1.在區域性域中的變數宣告引入了區域性物件 local object 有三種區域性物件 自動物件 automatic object 暫存器物件 register object 以及區域性靜態物件 local static object 區分這些物件的是物件所在儲存區的屬性和生命期。2.自動物件的儲存...