บทความนี้จะแนะนำให้คุณรู้จักกับหัวข้อที่น่าสนใจอีกหัวข้อหนึ่งที่ Type Conversion In C ++ และปฏิบัติตามด้วยการสาธิตการปฏิบัติโดยละเอียด คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้
- พิมพ์การแปลงใน C ++
- การแปลงประเภทโดยนัย
- การแปลงประเภทที่ชัดเจน
- การแปลงตามการมอบหมาย
- การแปลงโดยใช้ตัวดำเนินการ Cast
พิมพ์การแปลงใน C ++
การแปลงประเภทหมายถึงการแปลงจากประเภทหนึ่งไปยังอีกประเภทหนึ่ง แนวคิดหลักเบื้องหลังการแปลงประเภทคือการทำให้ตัวแปรประเภทหนึ่งเข้ากันได้กับตัวแปรประเภทอื่นเพื่อดำเนินการ ตัวอย่างเช่นในการหาผลรวมของสองตัวแปรหนึ่งในประเภท int และอื่น ๆ ของประเภท float ดังนั้นคุณต้องพิมพ์ตัวแปร cast int เพื่อลอยเพื่อทำให้ทั้งสองเป็นประเภท float สำหรับการหาผลรวม ในบล็อกนี้เราจะเรียนรู้วิธีการแปลงประเภทใน C ++
ไปที่ฟังก์ชันใน python
ใน C ++ มีการแปลงประเภทสองประเภทคือการแปลงประเภทโดยนัยและการแปลงประเภทที่ชัดเจน
การแปลงประเภทโดยนัย
การแปลงประเภทโดยนัยหรือการแปลงประเภทอัตโนมัติทำได้โดยคอมไพเลอร์ด้วยตัวมันเอง ไม่มีทริกเกอร์ภายนอกที่ผู้ใช้ต้องการในการพิมพ์ตัวแปรจากประเภทหนึ่งไปยังอีกประเภทหนึ่ง
สิ่งนี้เกิดขึ้นเมื่อนิพจน์มีตัวแปรมากกว่าหนึ่งประเภท ดังนั้นในสถานการณ์เหล่านั้นการแปลงประเภทอัตโนมัติจะเกิดขึ้นเพื่อหลีกเลี่ยงการสูญเสียข้อมูลในการแปลงประเภทอัตโนมัติประเภทข้อมูลทั้งหมดที่มีอยู่ในนิพจน์จะถูกแปลงเป็นประเภทข้อมูลของตัวแปรที่มีประเภทข้อมูลมากที่สุด
ด้านล่างนี้คือลำดับของการแปลงประเภทอัตโนมัติ คุณยังสามารถพูดได้ว่าประเภทข้อมูลที่เล็กที่สุดถึงใหญ่ที่สุดสำหรับการแปลงประเภท
บูล -> ถ่าน -> int สั้น -> int -> int ที่ไม่ได้ลงนาม -> ยาว -> ไม่ได้ลงนาม -> ยาว -> ลอย -> คู่ -> คู่ยาว
การแปลงโดยปริยายอาจสูญเสียข้อมูลเช่นสัญญาณอาจสูญหายได้เมื่อประเภทที่ลงนามถูกแปลงโดยปริยายเป็นประเภทที่ไม่ได้ลงนามและอาจเกิดการล้นเกินเมื่อระยะยาวถูกแปลงเป็นลอย
ตอนนี้ให้เราดูตัวอย่างเพื่อทำความเข้าใจว่าการแปลงประเภทโดยนัยทำงานอย่างไรใน C ++
ตัวอย่าง
#include โดยใช้ namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // character char1 // char1 โดยนัยแปลงเป็น int โดยใช้ค่า ASCII ของ 'c' เช่น 99 int1 = int1 + char1 // int1 ถูกแปลงโดยปริยายเป็น float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }
เอาต์พุต
int1 = 199
ถ่าน 1 = ค
flt1 = 201.7
ถัดไปในการแปลงประเภทนี้ในบทความ C ++
การแปลงประเภทที่ชัดเจน
การแปลงประเภทที่ชัดเจนหรือการหล่อประเภทคือการแปลงประเภทที่ผู้ใช้กำหนด ในการแปลงประเภทอย่างชัดเจนผู้ใช้จะแปลงตัวแปรประเภทหนึ่งเป็นประเภทอื่น การแปลงประเภทที่ชัดเจนสามารถทำได้สองวิธีใน C ++:
java คือ vs มี
- การแปลงตามการมอบหมาย
- การแปลงโดยใช้ตัวดำเนินการ Cast
ตอนนี้เรามาดูแต่ละวิธีในการโยนประเภทหนึ่งไปยังอีกประเภทหนึ่งอย่างชัดเจน
การแปลงตามการมอบหมาย
ในการแปลงประเภทนี้ประเภทที่ต้องการถูกกำหนดไว้อย่างชัดเจนด้านหน้านิพจน์ในวงเล็บ ข้อมูลสูญหายเกิดขึ้นในการแคสต์ประเภทที่ไม่เหมาะสม ถือเป็นการหล่อหลอมที่แข็งแกร่ง ลองดูตัวอย่าง
ตัวอย่าง
คลาสสุ่มในตัวอย่าง java
#include โดยใช้ namespace std int main () {double dbl1 = 8.9 // Explicit conversion from double to int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }
เอาต์พุต
ผลลัพธ์ = 9
ถัดไปในการแปลงประเภทนี้ในบทความ C ++
การแปลงโดยใช้ Cast Operator
ตัวดำเนินการ Cast เป็นตัวดำเนินการแบบยูนารีซึ่งบังคับให้ประเภทข้อมูลหนึ่งถูกแปลงเป็นข้อมูลประเภทอื่น C ++ มีการแคสต์สี่ประเภท ได้แก่ Static Cast, Dynamic Cast, Const Cast และ Reinterpret Cast
- นักแสดงคงที่ - นี่คือประเภทของการร่ายที่ง่ายที่สุดที่สามารถใช้ได้ ไม่เพียง แต่ทำการอัปเดตเท่านั้น แต่ยังรวมถึงดาวน์แคสต์ด้วย เป็นการรวบรวมเวลาร่าย จะไม่ดำเนินการตรวจสอบระหว่างรันไทม์เพื่อรับประกันว่าอ็อบเจ็กต์ที่ถูกแปลงเป็นอ็อบเจ็กต์แบบเต็มของชนิดปลายทาง
- ไดนามิกแคสต์ - ช่วยให้มั่นใจได้ว่าผลลัพธ์ของการแปลงประเภทชี้ไปยังวัตถุที่ถูกต้องและสมบูรณ์ของประเภทตัวชี้ปลายทาง
- Const Cast - จัดการว่าวัตถุต้องการคงที่หรือไม่คงที่ ช่วยให้มั่นใจได้ว่าต้องตั้งค่าคงที่หรือต้องถูกลบออก
- ตีความ Cast อีกครั้ง - แปลงชนิดตัวชี้เป็นประเภทตัวชี้อื่น ๆ แม้กระทั่งชั้นเรียนที่ไม่เกี่ยวข้อง ไม่ได้ตรวจสอบว่าชนิดตัวชี้และข้อมูลที่ตัวชี้ชี้นั้นเหมือนกันหรือไม่
มาดูตัวอย่างการแคสต์แบบคงที่
ตัวอย่าง
#include โดยใช้ namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout<เอาต์พุต
30
สิ่งนี้นำเราไปสู่ตอนท้ายของบทความนี้เกี่ยวกับการแปลงประเภทใน C ++ฉันหวังว่าคุณจะพบข้อมูลนี้และเป็นประโยชน์โปรดติดตามบทช่วยสอนเพิ่มเติมในหัวข้อที่คล้ายกันนอกจากนี้คุณยังสามารถชำระเงินโปรแกรมการฝึกอบรมของเราได้o รับความรู้เชิงลึกเกี่ยวกับ jQuery พร้อมกับแอพพลิเคชั่นต่างๆที่คุณทำได้ สำหรับการฝึกอบรมออนไลน์สดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต
มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นของบทความนี้แล้วเราจะติดต่อกลับไป