名稱空間
變體
操作

ckd_sub

來自 cppreference.com
< c‎ | numeric
定義在標頭檔案 <stdckdint.h>
#define ckd_sub( result, a, b ) /* implementation-defined */

// 公開介面

bool ckd_sub( type1* result, type2 a, type3 b );
(自 C23 起)

計算減法 x - y 並將結果儲存到 *result 中。減法操作就像兩個運算元都以具有無限範圍的有符號整數型別表示,然後結果從該整數型別轉換為 type1。如果分配給 *result 的值正確表示了操作的數學結果,則返回 false。否則,返回 true。在這種情況下,分配給 *result 的值是操作的數學結果,並根據 *result 的寬度進行環繞。

目錄

[edit] 引數

a, b - 整數值
結果 - 結果應儲存的地址

[edit] 返回值

如果分配給 *result 的值正確表示減法的數學結果,則為 false,否則為 true

[edit] 注意

type2type3 都應是除“普通”charbool、位精確整數型別或列舉型別之外的任何整數型別,它們可以相同。*result 應是除“普通”charbool、位精確整數型別或列舉型別之外的任何整數型別的可修改左值。

建議如果 type2type3 不是合適的整數型別,或者如果 *result 不是合適整數型別的可修改左值,則生成診斷訊息。

[edit] 示例

[edit] 參考

  • C23 標準 (ISO/IEC 9899:2024)
  • 7.20.1 ckd_ 檢查整數操作宏 (p: 311)

[edit] 另請參閱

兩個整數的檢查加法運算
(型別通用函式宏)[編輯]
兩個整數的檢查乘法運算
(型別通用函式宏)[編輯]