Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Ép kiểu đối số (Argument Coercion) trong C/C++

Ở đây chúng ta sẽ xem về ép kiểu đối số trong C hoặc C++. Ép kiểu đối số (Argument Coercion) là một kỹ thuật mà trình biên dịch có thể ngầm chuyển đổi các đối số từ kiểu này sang kiểu khác. Nó tuân theo quy tắc thăng cấp đối số. Nếu một đối số là kiểu dữ liệu thấp hơn, nó có thể được chuyển đổi thành kiểu dữ liệu cao hơn, nhưng ngược lại thì không đúng. Lý do là nếu một kiểu dữ liệu cao hơn được chuyển đổi thành kiểu dữ liệu thấp hơn, nó có thể mất một số dữ liệu.

Hãy xem một kim tự tháp có thể biểu diễn cách chuyển đổi ngầm diễn ra.

Ép kiểu đối số (Argument Coercion) trong C/C++

Ví dụ

#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;
}

Kết quả

double data add: 12.2
integer data add: 11