列舉和宏的差別具體解析。本站提示廣大學習愛好者:(列舉和宏的差別具體解析)文章只能為提供參考,不一定能成為您想要的結果。以下是列舉和宏的差別具體解析正文
列舉常量與宏的差別重要有幾點:
1。列舉常量是實體中的一種,但宏不是實體;
2。列舉常量屬於常量,但宏不是常量;
3。列舉常量具有類型,但宏沒有類型,列舉變量具有與通俗變量雷同的諸如感化域、值等性質,但宏沒有,宏不是說話的一部門,它是一種預處置調換符。列舉類型重要用於限制性輸出,例如,某個函數的某參數只接收某品種型中的無限個數值,除此以外的其它數值都不接收,這時候候列舉能很好地處理這個成績。能用列舉盡可能用列舉,不然在調試的時刻你是看不到其時的值的。
4。用宏去界說一個變量假如你界說了一個雷同的變量那末要看誰在後面,假如宏在後面變量會發生編譯毛病,並且這個毛病很難查找,假如誰人宏隱蔽的很深的話。假如你界說的變量在前那末更恐怖了,直接沒有毛病,然則宏界說被自界說的變量靜靜調換了。用列舉界說的話不論你界說的次序前後關系如何都邑發生反復界說的毛病。從下面的舉例來看列舉比宏好用的多。宏還有一個特征是沒有感化域,這裡的感化域是指宏界說今後的代碼都可使用這個宏。宏可以被反復界說這個能夠招致宏的值被修正。所以建議不要用宏去界說整形的變量,用列舉或許const。又會有效const照樣列舉呢,世界一貫如斯糾結,列舉只能表現整形,const可以潤飾任何類型。整形的情形下假如你要界說幾種有關系的數值那末用列舉,不然用const。