ที่นี่เราจะดูว่าเทคนิคการแปลงประเภทมีอะไรบ้างใน C ++ การแปลงประเภทส่วนใหญ่มีสองประเภท โดยปริยายและชัดเจน
-
การแปลงประเภทโดยนัย
นี้เรียกว่าการแปลงประเภทอัตโนมัติ สิ่งนี้ทำโดยคอมไพเลอร์โดยไม่มีทริกเกอร์ภายนอกจากผู้ใช้ สิ่งนี้จะทำเมื่อมีนิพจน์มากกว่าหนึ่งประเภทข้อมูลที่มีอยู่
ประเภทข้อมูลทั้งหมดได้รับการอัปเกรดเป็นประเภทข้อมูลของตัวแปรขนาดใหญ่
bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
ในการแปลงโดยนัย อาจสูญเสียข้อมูลบางส่วน ป้ายก็หายได้ เป็นต้น
ตัวอย่าง
#include <iostream> using namespace std; int main() { int a = 10; char b = 'a'; a = b + a; float c = a + 1.0; cout << "a : " << a << "\nb : " << b << "\nc : " << c; }
ผลลัพธ์
a : 107 b : a c : 108
การแปลงประเภทที่ชัดเจน
นี้เรียกอีกอย่างว่าการหล่อแบบ ที่นี่ผู้ใช้สามารถพิมพ์ผลลัพธ์เพื่อให้เป็นประเภทข้อมูลเฉพาะ ใน C++ เราสามารถทำได้สองวิธี ใช้นิพจน์ในวงเล็บหรือใช้ static_cast หรือ dynamic_cast
ตัวอย่าง
#include <iostream> using namespace std; int main() { double x = 1.574; int add = (int)x + 1; cout << "Add: " << add; float y = 3.5; int val = static_cast<int>(y); cout << "\nvalue: " << val; }
ผลลัพธ์
Add: 2 value: 3