ในบทช่วยสอนนี้ เราจะพูดถึง Enumerated Types (ประเภทข้อมูลแวนมูเรต) หรือ Enums ใน C++
Enumerated types เป็นชนิดข้อมูลที่ผู้ใช้นิยามเอง ซึ่งผู้ใช้สามารถระบุค่าที่จำกัดจำนวนได้ที่จะกำหนดให้กับตัวแปร
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
int main() {
// นิยาม enum variable
enum Gender {
Male,
Female
};
Gender gender = Male;
switch(gender) {
case Male:
cout << "Gender is Male";
break;
case Female:
cout << "Gender is Female";
break;
default:
cout << "Value can be Male or Female";
}
return 0;
}
เอาต์พุต
Gender is Male
คำอธิบายเพิ่มเติม
- ค่าเริ่มต้นของ enum แรกคือ 0 เพิ่มทีละ 1 (Male=0, Female=1)
- สามารถกำหนดค่าเองได้:
enum Color {Red=1, Green=5, Blue=10}; - C++11 มี
enum class(scoped enum) ป้องกันการเปรียบเทียบกับ int โดยตรง - enum ช่วยทำให้โค้ดอ่านง่าย ลดข้อผิดพลาดจากการใช้ magic numbers