일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- BFS
- 소프티어
- 코딩봉사
- 백준알고리즘
- programmers
- 공부일지
- python
- 1과목
- 문제풀이
- 정보처리산업기사
- 백준
- C++
- 데이터베이스
- 프로그래머스
- softeer
- 코틀린
- kotlin
- CJ UNIT
- 백준 알고리즘
- MYSQL
- 자바
- 알고리즘
- SQL
- 스프링
- java
- 코딩교육봉사
- 회고
- 시나공
- 파이썬
- SW봉사
Archives
- Today
- Total
JIE0025
[C++] 매개변수 디폴트 값 (default vaule) 본문
728x90
매개변수 디폴트 값
C++ 함수에선 매개변수에 디폴트 값을 줄 수 있다.
함수 선언시에 매개변수 = 디폴트값 형식으로 쓰면 된다.
#include<iostream>
int sum(int a = 3, int b = 5){
return a+b;
}
using namespace std;
int main(){
cout << sum() << endl ; // 8
cout << sum(2,4) << '\n'; // 6
return 0;
}
default 값이 설정되어 있을땐
함수 호출에 아무런 매개변수가 없어도 디폴트값이 할당되어 함수가 작동한다.
부분적 디폴트 값 설정하기
- 모든 매개변수에 꼭 디폴트값을 설정할 필요는 없음
- 몇개에만 디폴트 설정하고 싶을 땐 오른쪽 매개변수부터 디폴트를 채우는 형식으로 사용해야함.
- 함수 전달 인자는 왼쪽부터 채워지기 때문이다.
#include<iostream>
int sum( int a; int b; int c = 10){
return a+b+c;
}
using namespace std;
int main(){
cout<< sum(2,5); // 2+5+10 == 17
cout<< sum(2,5,20); // 2+5+20 = 27
return 0;
}
만약 아래와 같은 경우이면
int test(){
return 5;
}
int test(int a = 5){
return a+1;
}
test();를 호출했을 때 둘다 호출될 가능성이 있기 떄문에 문제가 된다.
'기타 학습 > Language' 카테고리의 다른 글
[C++] C언어 기본 복습 (const , 메모리공간, malloc, free, call-by-value, call-by-reference ) (0) | 2022.05.06 |
---|---|
[C++] 이름공간 (namespace), 범위지정 연산자의 사용 (0) | 2022.05.06 |
[C++] 매크로 함수와 인라인 함수 (macro, inline function) (0) | 2022.05.06 |
[C++] 함수 오버로딩 (0) | 2022.05.06 |
[BOJ - 자료구조] 1927 번 : 최소 힙 ( C++) (0) | 2022.05.06 |