C 常量表示式和constexpr

2021-09-01 00:21:51 字數 626 閱讀 1720

常量表示式是指不會改變且在編譯過程中就能得到計算結果的表示式,比如下面的10,value1 + 1,value1 ,value2都是常量表示式。

int

main()

constexpr和const很像,有如下區別

int

main()

int

main()

int

main()

constexpr函式指能用於常量表示式的函式,函式的返回值型別以及所有形參型別都必須是字面值型別,有且只能有乙個return語句。constexpr函式通常放在標頭檔案而不是原始檔中。

#include

#include

#include

constexpr int

getmbyte

(int value)

intmain()

ida中對應的**

int __cdecl main()

c 常量和常量表示式

const,預設情況下僅在檔案內有效 const int i 12 const引用 對常量的引用不能被用作修改它所繫結的物件 const int ci 5 const int rci ci rci 90 錯誤 不能修改 允許常量引用繫結到非常量的物件 字面值或表示式上 int i 20 const ...

C 11新特性之常量表示式 constexpr

在c 11中引入了乙個新的關鍵字 constexpr 用來修飾乙個函式或者變數使其變成乙個常量表示式或值。比如下面的 將函式getconstvalue變成乙個常量表示式,並用這個常量表示式宣告乙個陣列 constexpr int getconstvalue int a getconstvalue 有...

常量表示式

字面值 是乙個不能改變的值,如數字 字元 字串等。單引號內的是字元字面值,雙引號內的是字串字面值。字面值型別 literal type 算數型別 引用和指標等。常量表示式 const experssion 是指 1 值不會改變 並且 2 在編譯過程就能得到計算結果的表示式。字面量屬於常量表示式,用常...