Đối số mặc định
Đối số mặc định là một thuận lợi lập trình để bỏ bớt đi gánh nặng phải chỉ định các giá trị đối số cho tất cả các tham số hàm. Ví dụ, xem xét hàm cho việc báo cáo lỗi:
void Error (char *message, int severity=0);
Ớ đây thì severity có một đối số mặc định là 0; vì thế cả hai lòi gọi sau đều hợp lệ:
Error("Division by zero", 3);// severity đật tới 3
EiTOiC("Round off error”); // seventy đặt tới 0
Như là lời gọi hàm đầu tiên minh họa, một đối số mặc định có thể được ghi chồng bằng cách chỉ định rõ ràng một đối số.
Các đối số mặc định là thích hợp cho các trường hợp mà trong đó các tham số nào đó của hàm (hoặc tất cả) thường xuyên lấy cùng giá trị. Ví dụ trong hàm Error, severity 0 lỗi thì phố biến hơn là những trường hợp khác và vì thế là một ứng cử viên tốt cho đối số mặc định. Một cách dùng các đối số ít phù hợp có thế là:
int Power (int base, unsigned int exponent =1);
Bởi vì 1 (hoặc bất kỳ giá trị nào khác) thì không chắc xảy ra thường xuyên trong tình huống này.
Đế tránh mơ hồ, tất cả đổi số mặc định phải là các đối số theo đuôi. Vì thế khai báo sau là không theo luật:
void Error (char *message= "Bomb", int severity);
// Trái qui tắc
Một đối số mặc định không nhất thiết là một hằng. Các biểu thức tùy ý có thế được sử dụng miễn là các biến được dùng trong các biếu thức là có sẵn cho phạm vi định nghĩa hàm (ví dụ, các biến toàn cục).
Qui ước được chấp nhận dành cho các đối số mặc định là chỉ định chúng trong các khai báo hàm chứ không ở trong định nghĩa hàm.