列舉主要的應用是在增加程式的可讀性
尤其是大型多人專案
以下舉個小例子來說明:
今天我們寫了一個ShowWeapon的函式
public void ShowWeapon(int x) { cout << "your weapon is" switch(x) { case:1 cout << "Axe"; break; case:2 cout << "Staff"; break; case:3 cout << "Dagger"; break; } }
當我們使用
ShowWeapon(1); // point "your weapon is Axe"給他1它會印出Axe 2就是Staff 3就是Dagger
在寫程式的當下會很爽
但是等你過幾天回來或是這個程式給別人維護的時候就會很不爽了
天殺的,誰知道你的代入值1,2,3是什麼意思
這個時候我們在前面加上enum的話會變成
enum Weapon : int { Axe = 1, Staff = 2, Dagger = 3 } public void ShowWeapon(int x) { cout << "your weapon is" switch(x) { case:1 cout << "Axe"; break; case:2 cout << "Staff"; break; case:3 cout << "Dagger"; break; } }
原本的ShowWeapon就可以這麼用
ShowWeapon(Weapon:Axe); // point "your weapon is Axe" ShowWeapon(Weapon:Staff); // point "your weapon is Staff" ShowWeapon(Weapon:Dagger); // point "your weapon is Dagger"
可以讓自己也讓後面維護的人清楚這個位置的代入值要填入些什麼
也可以約束填入的內容才不會發生未預期到的錯誤
以上面的例子來說,如果沒有使用enum的話,很可能會出現4,5,6這類超出原本預期的數值
而使用enum後,把所有可以填的數值都規範在enum結構裡了
沒有留言:
張貼留言