Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Argument Coercion ใน C/C++ คืออะไร

ที่นี่เราจะดูเกี่ยวกับ Argument Coercion ใน C หรือ C++ Argument Coercion เป็นเทคนิคที่คอมไพเลอร์แปลงอาร์กิวเมนต์จากชนิดข้อมูลหนึ่งไปอีกชนิดหนึ่งโดยอัตโนมัติ (Implicit Conversion) ตามกฎ Argument Promotion ถ้าอาร์กิวเมนต์เป็นชนิดข้อมูลต่ำกว่า สามารถแปลงเป็นชนิดสูงกว่าได้ แต่ย้อนกลับไม่ได้ เพราะอาจสูญเสียข้อมูล

มาดูพีระมิดที่แสดงลำดับการแปลงชนิดข้อมูลโดยนัย

Argument Coercion ใน C/C++ คืออะไร

ตัวอย่าง

#include <iostream>
using namespace std;

double myAdd(double a, double b) {
    return a + b;
}

int main() {
    cout << "double data add: " << myAdd(5.3, 6.9) << endl;
    cout << "integer data add: " << myAdd(6, 5) << endl;
}

ผลลัพธ์

double data add: 12.2
integer data add: 11