일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Contour
- digitalRead
- sensor
- java
- Encapusulation
- public
- flutter
- Binary
- stream
- SERIAL
- atmega328
- inheritance
- length
- Pointer
- Android
- Read
- Class
- memory
- Barcode
- parameter
- UNO
- aduino
- mfc
- APP
- preprocessing
- wpf
- Unity
- Overloading
- compare
- file access
- Today
- Total
폴크(FOLC)
C++ 함수 특징 본문
# 함수 디폴트 파라미터
> 함수에 파라미터를 전달하는 기본값을 설정
> 함수 원형에만 지정할 수 있다.
> 우선 순위 위치 순서대로만 지정할 수 있다. ( 우->좌 )
> 별도위치만 지정할 수 없다.
# 함수 포인터
> 함수의 이름이 곳 포인터가 된다. ( 시작 주소 )
> 함수의 시작 주소를 가리키는 상수 ( 값 변경 불가 )
# 함수 포인터 선언
> typedef, auto 키워드 이용
> typedef void (*functionptr)(void);
# 함수 오버로딩 ( 다형성 )
> 함수 이름은 동일하고 파라미터 개수와 리턴값이 다름 ( 시그니처 )
# 함수 오버라이딩 ( 다형성 - 상속 관련 )
> 함수 이름과 파라미터 개수와 리턴값이 같음 ( 재정의 )
> 부모의 함수와 동일한 이름을 갖는 함수이지만 내용이 다름
# 인라인 함수
> inline 키워드 이용
> 함수의 모든 코드를 호출된 위치에 삽입하는 방식 ( 컴파일 시점 )
> 함수 호출 과정으로 생기는 이점( 재기호출 및 디버깅 등 ) 상실
> 작은 단위의 함수만 추천
# 매크로 함수
> #define 선행처리 지시문 이용
> { } 중괄호로 함수의 범위를 정확하게 해야 한다.
# 예제 소스
# include <iostream>
void FuncTEST(int, int); // 일반 함수 원형
void FuncTEST(int, int, int, int); // 일반 함수 원형 ( 오버로딩 )
typedef void (*PTR_TEST_functionptr)(int, int); // 함수 포인터 원형
int main(void)
{
PTR_TEST_functionptr ptr = FuncTEST; // 함수를 pointer 에 연결시킴( 동일한 함수 )
FuncTEST(1, 1);
ptr(1, 1);
FuncTEST(1, 1, 0, 0);
return 0;
}
'교육 관련 > C++' 카테고리의 다른 글
C++ 생성자 및 this 포인터 (0) | 2022.03.29 |
---|---|
C++ 클래스 (0) | 2022.03.27 |
C++ 파일 연동 (0) | 2022.02.25 |
C++ 사용자 정의 자료형 (0) | 2022.02.25 |
C++ 입/출력 및 문자열 (0) | 2022.02.24 |