C++中的define #define 與const的區別,我以後堅決站const

今天遇到了一個大坑關於define的

define中標準只定義了#和##兩種操作。#用來把參數轉換成字符串,##則用來連接前後兩個參數,把它們變成一個字符串。

簡而言之就是它不會給你做計算,只是把它當作字符串處理:

所以我設置了的

#define k 13*17

當我在函數中用 56/k時,此時得出的結果是56/13*17所以會得到一個更大的結果,

解決方法:const int k=13*17;

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