參考自c++ primer
引自c++ primer中的一句話:
c++11新標準規定,允許將變數宣告為constexpr型別以便由編譯器來驗證變數的值是否是乙個常量表示式。宣告為constexpr的變數一定是乙個常量,而且必須用常量表示式初始化。
常量表示式:指值不會改變並且在編譯過程就能得到計算結果的表示式
const int max_files = 20; //max_files是乙個常量表示式
const int limit = max_files + 1; //limit是乙個常量表示式
int staff_size = 27; //staff_size不是乙個常量表示式
const int sz = get_size(); //sz不是乙個常量表示式
更詳細的內容請參考c++ primer 5
int i = 10;
const int k = 12;
const int *p1 = &k;//p1表示指向整形常量的指標
int *const p2 = &i;//p2是乙個常量指標
constexpr int *p3 = &i;//與p2一樣,p3表示乙個常量指標
constexpr cosnt int p4 = &k;//p4是常量指標,指向整形常量
常量表示式 const constexpr
一 常量表示式 1 概念 1 指值不會改變,在編譯過程中就能得到計算結果的表示式 2 編譯器會在編譯階段將常量替換為對應的值 2 判別 1 字面值屬於常量表示式 2 用常量表示式初始化的const物件也是常量表示式 3 是不是常量表示式由資料型別與初始值決定 const int max files ...
SQL與NoSQL MySQL與NoSQL的融合
寫這一篇內容的原因是mysql5.6.2突然推出了memcached的功能。nosql to innodb with memcached的出現,可以看出nosql對關聯式資料庫的確產生了巨大的影響,個人覺得這是乙個非常大的進步,可以讓開發人員更加方便的使用nosql和關聯式資料庫。nosql一般被認...
指標與陣列 a與 a區別
假設宣告了乙個陣列a,則 a表示陣列a的首位址,a與 a 0 表示陣列a首元素的首位址,那麼 a 1與a 1有哪些區別呢?通過下面的實驗來說明。int i 0 int a 5 int p int a 1 for i 0 i 5 i printf a 0x p,a 0x p,a 1 0x p n a,...