列舉主要的應用是在增加程式的可讀性
尤其是大型多人專案
以下舉個小例子來說明:
今天我們寫了一個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結構裡了
沒有留言:
張貼留言