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

การบีบบังคับอาร์กิวเมนต์ใน C / C ++?


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

ให้เราดูพีระมิดหนึ่งอันที่แสดงว่าการแปลงโดยปริยายเกิดขึ้นได้อย่างไร

การบีบบังคับอาร์กิวเมนต์ใน C / C ++?

ตัวอย่าง

#include<iostream>
using namespace std;
double myAdd(double a, double b){
   return a+b;
}
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