C++快速入門---聯合、列舉和類型別名(7)
阿新 • • 發佈:2018-11-04
C++快速入門---聯合、列舉和類型別名(7)
聯合可以容納多種不同型別的值,但是它每次只能儲存這些值中的某一個。
#include <iostream> union mima { unsigned long birthday; unsigned short ssn; char *pet; }; int main() { mima mima_1; mima_1.birthday = 19881301; std::cout << mima_1.birthday << "\n"; mima_1.pet = "Chaozai"; std::cout << mima_1.pet << "\n"; std::cout << mima_1.birthday << "\n"; return 0; }
這個聯合將把"Chaozai"存入mima_1聯合的pet成員,並丟棄birthday成員裡的值。
列舉
列舉(enum)型別用來建立一個可取值列表。
編譯器會按照各個列舉值在定義時出現的先後順序把它們與0~n-1的整數分別關聯起來。
#include <iostream> int main() { enum weekdays{Monday, Tuesday, Wednesday, Thursday, Friday}; weekdays today; today = Monday; std::cout << today << "\n"; today = Tuesday; std::cout << today << "\n"; }
類型別名typedef
使用它可以為一個型別定義建立一個別名。