ผู้ประกอบการหล่อ c ++
ผู้ประกอบการหล่อเป็นผู้ประกอบการพิเศษซึ่งจะแปลงชนิดข้อมูลเป็นข้อมูลชนิดอื่น ผู้ประกอบการหล่อเป็นผู้ประกอบการไม่มีทั้งจัดลำดับความสำคัญและผู้ประกอบการเอกภาคอื่น ๆ เดียวกัน
ส่วนใหญ่ c ++ คอมไพเลอร์สนับสนุนผู้ประกอบการหล่อที่พบมากที่สุด:
(type) expression
นี่เป็นประเภทชนิดข้อมูลหลังจากการแปลง ที่นี่มีหลายผู้ประกอบการหล่อการสนับสนุน c ++ อื่น ๆ :
const_cast <type> (expr): const_cast ผู้ประกอบการจะใช้ในการปรับเปลี่ยนประเภทของ const / การคุณสมบัติระเหยนอกเหนือไปจากคุณลักษณะ const หรือระเหยเป้าหมายจะต้องเป็นชนิดเดียวกับประเภทของแหล่งที่มา ประเภทของการแปลงนี้ส่วนใหญ่จะใช้ในการถ่ายโอนการดำเนินงานคุณลักษณะ const วัตถุคุณสามารถเพิ่ม const แอตทริบิวต์จะถูกลบออกแอตทริบิวต์ const
dynamic_cast <ชนิด> (expr): dynamic_cast ดำเนินการในขณะที่ดำเนินการแปลงตรวจสอบความถูกต้องของการแปลงหากการแปลงที่ไม่ได้ดำเนินการแปลงล้มเหลว expr แสดงออกมุ่งมั่นที่จะเป็นโมฆะ เมื่อ dynamic_cast ดำเนินการแปลงแบบไดนามิกประเภทจะต้องเป็นตัวชี้ระดับหรือการอ้างอิงประเภทโมฆะ * ถ้าชนิดเป็นชนิดตัวชี้ระดับแล้ว expr ต้องชี้ถ้าชนิดคือการอ้างอิงที่ expr ยังจะต้องมีการอ้างอิง
reinterpret_cast <ชนิด> (expr): reinterpret_cast ผู้ประกอบการที่จะชี้ไปยังประเภทอื่น ๆ บางส่วนของตัวชี้มันอาจจะเป็นตัวเลขชี้ไปที่คุณสามารถใส่จำนวนเต็มเข้าไปในตัวชี้
static_cast <ชนิด> (expr): static_cast ผู้ประกอบการดำเนินการไม่ dynamic แปลงตรวจสอบระดับเพื่อความปลอดภัยของการแปลงไม่ได้ทำงานยกตัวอย่างเช่นมันสามารถนำมาใช้ในการแปลงตัวชี้ชั้นฐานที่จะเป็นตัวชี้เรียนมา
ทั้งหมดของผู้ประกอบการหล่อดังกล่าวข้างต้นในการใช้งานของชั้นเรียนและวัตถุที่จะนำมาใช้ ตอนนี้พิจารณาตัวอย่างต่อไปนี้เพื่อให้เข้าใจวิธีการใช้ภาษา C ++, ผู้ประกอบการหล่อง่าย คัดลอกและวางต่อไปนี้ C ++ โปรแกรม test.cpp แฟ้มรวบรวมและเรียกใช้โปรแกรม
#include <iostream> using namespace std; main() { double a = 21.09399; float b = 10.20; int c ; c = (int) a; cout << "Line 1 - Value of (int)a is :" << c << endl ; c = (int) b; cout << "Line 2 - Value of (int)b is :" << c << endl ; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10