หัวข้อมีการแจกแจงประเภทข้อมูล 'enum' ซึ่งเป็นชนิดข้อมูลที่แจกแจง
และเราจะเรียนรู้เกี่ยวกับ typedef ด้วย enum มีประโยชน์สำหรับการกำหนดประเภทข้อมูลที่ผู้ใช้กำหนดหมายถึง
ในฐานะโปรแกรมเมอร์ เราสามารถกำหนดประเภทข้อมูลของเราเองได้
มีประเภทข้อมูลจำนวนมากใน C++ เช่น integer float, double และอื่นๆ
ถ้าคุณต้องการที่จะกำหนดประเภทข้อมูลของคุณเอง คุณสามารถกำหนดได้ แต่คุณไม่สามารถแนะนำสิ่งใหม่ ๆ ได้ คุณต้องใช้ประเภทข้อมูลที่มีอยู่เหล่านี้เท่านั้นและกำหนดไว้
ให้เราดูตัวอย่างที่เราสามารถใช้ enum ตัวอย่างแรกในใบสมัครของคุณในโปรแกรมของคุณ คุณกำลังใช้ชื่อแผนก เช่น
แผนกวิทยาการคอมพิวเตอร์ แผนกวิศวกรรมสื่อสารอิเล็กทรอนิกส์ และเทคโนโลยีสารสนเทศ
และแผนกวิศวกรรมโยธา
คุณต้องใช้แผนกเหล่านี้ในใบสมัครของคุณเหมือนกับนักเรียนที่อยู่ในแผนกที่คุณต้องการตรวจสอบ
คุณต้องการเก็บข้อมูลหรือพนักงานหรือคณะที่อยู่ในแผนกใด
จึงมีบางอย่างที่เกี่ยวข้องกับแผนก
ตอนนี้คำถามคือคุณเป็นตัวแทนของแผนกอย่างไร คุณจะเขียนชื่อแผนกของแผนกหมายความว่ามันจะเป็นสตริง
ECE
เป็นสตริง ตอนนี้การทำงานกับสตริงใช้เวลาเพียงเล็กน้อยเพราะไม่ใช่ตัวอักษรเดียว
มันคือชุดของตัวละคร
เราต้องการทำให้มันเร็วขึ้น
ส่วนใหญ่ในชีวิตประจำวัน เราพบว่าถ้าคุณมีคำหรือคำที่ใช้กันทั่วไป เราจะกำหนดรหัสสำหรับคำเหล่านั้น
เรากำหนดรหัสดังนั้นในการเขียนโปรแกรมจึงเป็นเรื่องธรรมดามากที่ถ้าคุณมีชุดคำที่จำกัด
คุณสามารถกำหนดรหัสสำหรับพวกเขาและคุณสามารถใช้รหัสสำหรับแผนกนี้ได้
ฉันสามารถให้รหัสได้เช่น สมมติว่านี่คือแผนกหมายเลขหนึ่ง และนี่คือสอง นี่คือสามและนี่คือสี่
ตอนนี้หนึ่งหมายถึง CS, สองหมายถึงอุปกรณ์อิเล็กทรอนิกส์เช่นนี้
ดังนั้นเราจึงสามารถใช้ตัวเลขแทนการใช้สตริงได้
ดังนั้นสิ่งนี้จะเร็วและง่ายสำหรับการเขียนโปรแกรมด้วย
ในทำนองเดียวกันฉันมีตัวอย่างอื่น ๆ
ให้เราดูพวกเขาตอนนี้ด้วย
นี่คือเมนูไฟล์ในแอปพลิเคชันใด ๆ
หากคุณเปิดคุณจะพบเมนูที่เรียกว่าไฟล์และคุณจะมีตัวเลือกบางอย่างที่ฉันกำลังพูดถึงเฉพาะเมนูไฟล์ไม่ใช่เมนูอื่นทั้งหมด
นี่คือเมนูไฟล์
สำหรับสิ่งนี้ สมมติว่ารหัสสำหรับสิ่งนี้เป็นศูนย์
นี่คือหนึ่ง และนี่คือ 2 และ 3
ใหม่หมายถึง 0 เปิดหมายถึง 1 บันทึกหมายถึงสอง ปิดหมายถึง 3 เช่นนี้คือเมนู
โปรแกรมขับเคลื่อนด้วยเมนูดังนั้นตัวเลือกเมนูดังนั้นตัวเลือก 0 หมายถึงตัวเลือกใหม่ 1 หมายถึงตัวเลือกที่เปิดเช่นนี้คุณสามารถให้รหัสได้เช่นเดียวกันที่นี่หากคุณเป็น
ใช้วันแล้ววันจันทร์คือ 0 วันอังคารที่ 1 จากนั้นวันพุธที่ 2 เป็นต้นและนี่คือการเล่นไพ่
ดูรูปร่างเหล่านี้ทั้งหมดจึงมี 4 รูปทรงที่แตกต่างกันของการ์ดคลับจอบเพชรและหัวใจ
ดังนั้นคุณสามารถให้รหัสที่ถูกต้องได้เช่นกัน
ดังนั้นในใบสมัครของคุณในโปรแกรมของคุณ 0 หมายถึง club, 1 หมายถึงจอบที่คุณสามารถปฏิบัติได้เช่นนี้
ดังนั้นค่าตัวเลขจึงสามารถแทนคำเหล่านั้นได้ถูกต้องและในลักษณะเดียวกันสำหรับผลป้อนกลับที่ไม่ดีหรือผลตอบรับที่น่าพอใจและยอดเยี่ยม
คุณสามารถให้รหัสบางอย่าง
ดังนั้นจึงมีแนวทางปฏิบัติทั่วไปในชีวิตประจำวันเช่นกันที่เราใช้รหัส
นี่คือตัวอย่าง
ตอนนี้ เราต้องการเรียนรู้วิธีที่เราสามารถกำหนดคอร์ดเหล่านี้ในโปรแกรมของเราและใช้งาน
ดังนั้นสำหรับสิ่งนี้จึงมีมากกว่าหนึ่งตัวเลือก
ตัวเลือกแรกฉันจะบอกคุณว่าฉันใช้ตัวอย่างนี้เช่น CS, ECE สำหรับทั้งหมดนี้
ฉันสามารถกำหนดค่าคงที่ ฉันสามารถพูดได้ว่าค่าคงที่จำนวนเต็ม CS เป็นหนึ่งหรือจำนวนเต็มคงที่ E C E เป็นสอง ตอนนี้เมื่อใดก็ตามที่คุณพูดว่า ECE มันไม่ใช่สตริงในตอนนี้
ตอนนี้เป็นค่าคงที่
ค่าเป็นสอง
แบบนี้สำหรับอีกสองตัวที่เราทำแบบนี้ได้ ผมจึงนิยามค่าคงที่ได้
ดังนั้นหากมี 4 ตัว ฉันสามารถกำหนดสี่ค่าคงที่ได้ มี 10 ตัวที่ฉันสามารถกำหนดค่าคงที่ดังกล่าวได้ 10 ค่าในแอปพลิเคชันของเรา
ไม่ว่าเราจะเขียน CS ไปที่ใด
มันควรจะมีความหมายเป็นหนึ่งมันควรจะหมายความว่าเป็นหนึ่งรหัสที่มีอยู่สำหรับมัน
มันจึงไม่ใช่สตริง
ตอนนี้มันเป็นรหัส
นี่เป็นวิธีหนึ่ง ถ้าฉันกำหนดเหมือนเจ็ดรหัสที่นี่
นี้จะยาวไป
ดังนั้นแทนที่จะมืด
มีวิธีใดบ้างที่เราสามารถกำหนดร่วมกันได้
ใช่นั่นคือศัตรู
ฉันสามารถนิยามพวกมันเป็น enum ค่าคงที่ทั้งหมดเหล่านั้นรวมกันได้
ดังนั้นสำหรับวันที่ผมจะแสดงให้คุณเห็น วิธีการกำหนด enum คือพูด enum และบอกว่า day หรือ days พหูพจน์ไม่ว่ามันจะเป็นอะไร
แล้ววันจันทร์ อังคาร วันไหน.
ในกรณีอื่น ๆ ฉันกำลังเขียนวันพุธแล้ววันพฤหัสบดีวันศุกร์วันเสาร์และวันอาทิตย์
ตอนนี้.
นี่หมายความว่าฉันกำลังกำหนดค่าคงที่ทั้งหมดนี้รวมกัน นี่ไม่ใช่อะไรอื่นนอกจากการกำหนดค่าคงที่แบบนี้
ตอนนี้วันจันทร์จะเป็นศูนย์
วันอังคารจะเป็นหนึ่ง วันพุธก็จะเป็น 2 และต่อไปเรื่อยๆ
พวกเขาจะรับค่าเหล่านั้นทั้งหมดโดยอัตโนมัติ ดังนั้นแทนที่จะเขียนค่าคงที่ทีละเจ็ดครั้ง ฉันต้องเขียนลงไป
คุณสร้างมันเป็นประเภทข้อมูลแทน
วันนี้เป็นประเภทข้อมูลใหม่
นี่คือประเภทข้อมูลที่กำหนดโดยผู้ใช้ และค่าใดที่สามารถมีค่าได้ตั้งแต่วันจันทร์ถึงวันอาทิตย์
แล้ววันจันทร์มีค่าเท่าไหร่
วันจันทร์เป็น 0 ดังนั้นจึงใช้เวลาโดยอัตโนมัติ
นี่คือ 0 นี่คือ 1 2 3 4 5 6 ดังนั้นจึงกำหนดคอลเลกชันของค่าด้วยตัวเลขเหล่านี้หรือด้วยรหัสเหล่านี้จะเกิดขึ้นโดยอัตโนมัติ
คุณไม่จำเป็นต้องพูดถึง
0 1 2 3 โดยค่าเริ่มต้น อันแรกเป็นศูนย์ อันเริ่มต้นคือ 0
ตอนนี้ ถ้าฉันได้กำหนดสิ่งนี้ในโปรแกรมของฉัน ฉันก็สามารถใช้มันในโปรแกรมของฉันได้
สมมติว่าภายในฟังก์ชันหลัก ฟังก์ชันนี้ทำนอกฟังก์ชันหลักภายในฟังก์ชันหลัก
ฉันสามารถประกาศตัวแปรของประเภทวันได้แล้ว วันที่ d เป็นตัวแปรของประเภทวัน DNR
เห็นว่ามีตัวแปร ประเภทไหน? ประเภทวัน
วันอะไร.
มันเป็นชนิดข้อมูล มันสร้างขึ้นใน? ไม่ได้กำหนดไว้ นี่คือประเภทข้อมูลของเรา
ใช่.
ตอนนี้สิ่งที่พวกเขาสามารถมีค่าได้คืออะไร
คุณสามารถกำหนดอะไรก็ได้จากชุดค่าเหล่านี้
คุณจะเขียนวันจันทร์หรือเขียนวันศุกร์ก็ได้
อะไรก็ตามที่คุณสามารถเขียนถึงสิ่งนี้ได้ แต่คุณไม่สามารถกำหนดค่าศูนย์ได้โดยตรงในตอนนี้
ดังนั้นสิ่งนี้จะเป็นโมฆะ
คุณต้องใช้ชุดค่าเหล่านั้นที่ใดก็ได้ในโปรแกรมของคุณเท่านั้น
คุณต้องการตรวจสอบว่าเป็นวันจันทร์หรือไม่
เลยต้องเช็คแบบนี้
หากวันเท่ากับวันจันทร์ ดังนั้นคุณสามารถตรวจสอบได้ดังนี้ และหากเป็นจริง คำตอบจะเป็นจริง และจะเข้าสู่ค่านี้หากบล็อก
ดังนั้นถ้าเป็นวันของวันจันทร์มันจะเป็นจริง ตอนนี้ให้เรากำหนด enum สำหรับอันนี้สำหรับอันนี้
ฉันลบสิ่งนี้และฉันจะกำหนด สำหรับสิ่งนี้ สมมุติว่า enum และนี่คือแผนกแผนก ตอนนี้แผนกเป็น CS แล้ว ECE
ดูว่าผมเขียน CS เป็นค่าเริ่มต้นหรือไม่ มันจะเริ่มจากศูนย์
หากคุณต้องการเปลี่ยน คุณสามารถเปลี่ยนหมายเลขได้
ดังนั้นถ้าคุณบอกว่า CS มอบหมายให้คนถัดไป
แค่ E C E นี่จะกลายเป็นสองโดยอัตโนมัติ
นี่คือจุดเริ่มต้นที่คุณสามารถพูดถึงจุดเริ่มต้นได้ถูกต้อง
จากนั้นนี่กลายเป็นสองและนี่กลายเป็นสามและพลเรือนกลายเป็นสี่
นี่จึงเป็นสิ่งหนึ่ง
นี่คือสอง นี่คือสาม และนี่คือสี่
ดังนั้นหากคุณพูดถึงหมายเลขเริ่มต้นบางหมายเลข ที่เหลือจะใช้หมายเลขถัดไปโดยอัตโนมัติในครั้งต่อไป
ตอนนี้อยู่ในโปรแกรมของฉันภายในฟังก์ชันหลัก หากฉันต้องการประกาศตัวแปรประเภทแผนก
d แล้ว D กำหนด CS แบบนี้ที่คุณสามารถใช้ได้หรือแผนกอื่นๆ ที่คุณสามารถกำหนดได้ ดังนั้นคุณจึงสามารถประกาศตัวแปรที่มีได้เฉพาะชุดของค่าเหล่านี้เท่านั้น
คุณไม่สามารถเขียนอะไรนอกเหนือจากนี้
ต่อไปที่นี่ฉันจะเปลี่ยนค่าบางอย่าง แต่ฉันจะลบสิ่งนี้
สมมติว่าฉันพูดวันจันทร์เป็นหนึ่ง ดังนั้นนี่จะเป็นหนึ่งถ้าฉันเขียนแค่วันอังคาร
จากนั้นมันจะเป็นสองโดยอัตโนมัติสำหรับวันพุธฉันจะเขียนห้า
นี่จะกลายเป็นห้า
แล้ววันพฤหัสบดีถ้าฉันบอกว่านี่จะกลายเป็นหกสิทธิ์โดยอัตโนมัติ
จากนั้นวันศุกร์ก็จะกลายเป็นเจ็ดโดยอัตโนมัติแล้ววันเสาร์
ถ้าฉันพูดเก้า มันก็จะกลายเป็นเก้า แล้ววันอาทิตย์ก็จะกลายเป็นสิบ
ดังนั้นฉันจึงสามารถพูดถึงค่าต่าง ๆ ได้
ฉันสามารถเปลี่ยนค่าได้ แต่เทอมถัดไปหรือค่าคงที่ถัดไปจะเป็นตัวเลขถัดไป
เหมือนกับว่านี่คือหนึ่งโดยอัตโนมัติ ฉันไม่ได้กำหนดอะไรที่นี่
ดังนั้นนี่จะกลายเป็นสองที่ถูกต้อง
ไม่ นี่คือห้า
ฉันไม่ได้กำหนดค่าใด ๆ ที่นี่ ดังนั้นนี่จะกลายเป็นหกของตัวเลขถัดไปที่จะใช้สำหรับค่าคงที่ถัดไปที่กำหนดจริงๆ
นี่เป็นเรื่องเกี่ยวกับ enum คุณลักษณะนี้มีให้ใช้งาน แต่จะใช้งานอย่างไร
มันขึ้นอยู่กับโปรแกรมเมอร์
ก่อนอื่นโปรแกรมเมอร์ควรนึกถึงเขาต้องการรหัสบางอย่าง
ถ้าเขาไม่ใช่คนใช้รหัส เขาคงคิดการใช้ enum ไม่ได้
ก่อนอื่น หากคุณปฏิบัติตามแนวทางที่คุณกำลังกำหนดรหัสให้กับบางสตริงหรือบางชื่อ
คุณอาจนึกถึงการใช้ enum ดังนั้น การใช้หรือไม่ใช้ก็เป็นทางเลือกของผู้ใช้
ไม่ค่อยได้ใช้ครับถ้าใช้ในการเขียนโปรแกรมจะดีกว่าครับ
ดังนั้นโปรแกรมจะอ่านง่ายขึ้น ดังนั้นคุณจึงไม่ต้องเขียนในรายวิชาเหมือนแค่ 0
1 2 3 คุณสามารถใช้ชื่อเช่น CS, ECE, I. ต. ดังนั้นโปรแกรมจึงอ่านง่ายและเขียนโปรแกรมได้ง่ายขึ้น
ถ้าโปรเจ็กต์ยาวมาก มันเป็นโปรเจ็กต์ที่ใหญ่มาก มันจะง่ายมากสำหรับการทำงานในโครงการนั้น
ถ้าใช้ชื่อ. แล้วต่อไปเราจะเห็น
Typedef. ตอนนี้ให้เราดู
typedef ที่เป็นคำจำกัดความของประเภท
นี่คืออะไร.
ดังนั้นสำหรับคำอธิบาย ฉันได้ยกตัวอย่างหนึ่งที่นี่
ดังนั้นถ้าคุณเห็นตัวอย่างนี้ ผมมีตัวแปรอยู่บ้าง
ทั้งหมดนี้เป็นประเภท Integer ซึ่งเป็นจำนวนเต็มนอกประเภท ตอนนี้ชื่อตัวแปรถ้าคุณเห็น M1 M2
M3, r1 r2 r3
แล้วนี่คืออะไร.
ดูว่าฉันไม่ได้ใช้ชื่อที่มีความหมายเป็นชื่อที่อ่านได้
ดังนั้นโดยปกติแล้วโปรแกรมเมอร์จะมีนิสัยชอบทำแบบนี้กับคุณเมื่อคุณกำลังเรียนรู้ C++ แบบไม่มีในตอนนี้
เพื่อการฝึกฝนอย่างรวดเร็ว คุณจะตั้งชื่อแบบนี้ คุณจะไม่ตั้งชื่อให้ยาวๆ หรือชื่อที่มีความหมายมากกว่านี้
และนั่นจะกลายเป็นนิสัยของคุณ
ดังนั้นแม้ในโปรเจ็กต์จริงของคุณหรือโปรเจ็กต์หลัก คุณจะติดตามสิ่งเดียวกัน
ดังนั้นตั้งชื่อพวกเขาแบบนี้ และหากชื่อประเภทนี้ถูกระบุ พวกเขาจะไม่สามารถอ่านได้
และหากโครงการมีความยาวและใช้เวลานาน มันยากมากสำหรับคุณที่จะทำงานในโครงการเพราะคุณเองไม่สามารถเข้าใจได้ว่า
m1 คืออะไร วันนี้คุณเขียนอะไร m2
พรุ่งนี้คุณกลับมาทำงานและอ่านรหัสอีกครั้ง
m1 นี้คืออะไร ฉันลืมสิ่งที่ฉันประกาศ
ดังนั้นปัญหาประเภทนี้จะเกิดขึ้นหากคุณไม่ได้ใช้ชื่อที่อ่านง่ายหรือมีความหมาย
ดังนั้นปัญหานี้จึงเป็นปัญหาในการอ่านที่ถูกต้อง
ฉันบอกคุณอีกครั้งว่าเป็นปัญหาในการอ่านไม่ใช่สิ่งที่ฉันต้องการ
ฉันต้องการทำให้ตัวแปรเหล่านั้นมีความหมาย ดังนั้นถ้าไม่ใช่ชื่อ ถ้าฉันไม่สามารถให้ชื่อได้ อย่างน้อยประเภทข้อมูลนี้ควรบอกฉันว่านั่นคืออะไร
ใช่ที่ฉันสามารถทำได้โดยใช้ typedef
ดังนั้นให้เราทำ
ฉันจะกำหนดมันฉันเดา
ที่จริงแล้ว m1, m2, m3 นี้ 3 คือเครื่องหมาย,
r1 r2 r3 เป็นเลขม้วน ทั้งคู่เป็นประเภทจำนวนเต็ม
ที่นี่ฉันจะนิยาม typedef
นี่คือเครื่องหมายจำนวนเต็มคำจำกัดความประเภท
และอีกหนึ่ง typedef
จำนวนเต็ม.
หมายเลขม้วน
ภายในฟังก์ชันหลัก ฉันจะประกาศตัวแปรตอนนี้ m1 m2 และ
m3 ฉันจะประกาศให้ปิดประเภท marksm1 m2 m3 จากนั้น r1 r2 r3 เป็นหมายเลขม้วนประเภท
ได้ r1, r2 r3
นี่คือหมายเลขม้วน หมายเลขม้วนคืออะไร
มันคืออะไร.
ประเภทจำนวนเต็ม
สิ่งเหล่านี้มีประโยชน์สำหรับการกำหนดชนิดข้อมูลที่กำหนดโดยผู้ใช้
ใช่ เรามีประเภทข้อมูลของเราเองแล้ว
ตอนนี้ไม่มีอะไรนอกจากการเปลี่ยนชื่อของจำนวนเต็ม
ถูกต้อง.
ดังนั้นเราจะเรียกมันว่าเครื่องหมาย เครื่องหมายเป็นจำนวนเต็ม เครื่องหมายเป็นจำนวนเต็ม
ดังนั้นตอนนี้
แม้ว่าฉันจะใช้ m1, m2 m3 และฉันก็ลืมไป
นี่คืออะไร.
ดังนั้นถ้าผมมาถึงจุดประกาศนี้ ผมสามารถรู้ได้
ตกลง.
นี่สำหรับเครื่องหมาย m1 m2 m3 สำหรับเครื่องหมาย
และ r1 r2 r3 คือเลขม้วนของเลขม้วนเก็บ
ดังนั้นแทนที่จะให้เอกสารหรือให้ชื่อยาว ๆ คุณไม่สามารถทำตามนี้ได้
ดังนั้นสิ่งนี้ไม่เกี่ยวข้องกับประสิทธิภาพหรือการเร่งความเร็วของโปรแกรม แต่เกี่ยวข้องกับความสามารถในการอ่านของโปรแกรมเท่านั้น
เราสามารถทำให้โปรแกรมอ่านง่ายขึ้นด้วยการแนะนำ typedef ดังนั้นฉันจึงได้แจ้งปัญหาให้คุณทราบแล้ว
ปัญหาที่โปรแกรมเมอร์เผชิญอยู่
พวกเขาลืมไปว่าสิ่งที่อยู่ในโครงการกำลังดำเนินไปอย่างยาวนาน
นี่คือวิธีที่คุณสามารถทำให้ง่ายต่อการจดจำสิ่งต่าง ๆ หรือจดจำสิ่งต่าง ๆ โดยให้คำจำกัดความประเภทที่เหมาะสม
อีกครั้งนี้ขึ้นอยู่กับโปรแกรมหรือวิธีที่เขาใช้อย่างถูกต้องและประเภทของโครงการและนิสัยของการเขียนโปรแกรมเป็นอย่างไร
ดังนั้นจะมีประโยชน์ตรงไหนบ้างหากคุณพยายามใช้สิ่งนี้ต่อไปก็จะดีขึ้น
ดังนั้นในขณะที่ฝึกซ้อมเมื่อใดก็ตามที่คุณระบุ oh ฉันสามารถใช้ typedef ได้ คุณก็ใช้มัน
นั่นคือทั้งหมดที่เกี่ยวกับ typedef
มีวิดีโอสาธิตหลังจากนี้เพื่อให้คุณสามารถดูได้ จากนั้นฉันจะแสดงวิธีประกาศและใช้งาน
ดังนั้นคุณสามารถฝึกฝนสิ่งนี้ได้
นั่นคือทั้งหมดในวิดีโอนี้