728x90
- 디폴트 매개변수
- 호출자만 보고 함수 원형 추측 불가
- 반드시 오른쪽 매개변수부터 기술
- 함수 다중정의
- 오버로딩( 함수의 매개변수가 달라지는 등 )
- 다형성을 제공한다.
- 함수 템플릿
- 오버로딩 VS 함수 템플릿
- 오버로딩 - 유지보수 측면에서 문제. 불필요한 코드 작성시 메모리 낭비.
- 함수 템플릿 - 컴파일러가 생성. 컴파일 시간 UP
- 인라인 함수
- 함수 호출로 인한 오버헤드 극복
- 오버헤드 - 스택메모리 UP ,매개변수 때문에 메모리 복사
- 최적화 옵션을 켜두면 컴파일러가 알아서 결정해준다.
- 네임스페이스
- 협업중, 다른 개발자와 변수명이 겹치는 문제 해결
- using 선언
- 자주 사용하는 네임스페이스 생략
- 네임 스페이스 중첩
- 네임 스페이스 안에 또 다른 네임스페이스 속할 수 있다.
- A::B::C 와 A::D 이런식으로 구별.
- 식별자 검색 순서
- 전역 함수 (현재 블록 범위 → 현재 블록 포함된 상위 블록 → 가장 최근에 선언된 전역 변수, 함수 → using 사용된 네임스페이스)
- 클래스 매서드(현재 블록 범위 → 현재 블록 포함된 상위 블록 → 클래스 멤버 → 부모 클래스 멤버→ 가장 최근에 선언된 전역 변수나 함수 → 호출자가 속한 namespace의 상위 namespace → using 선언된 namespace)
728x90
'언어 > C++' 카테고리의 다른 글
6. 클래스의 완성 (0) | 2023.01.19 |
---|---|
5. 연산자 다중정의 (0) | 2023.01.17 |
4. 복사 생성자 & 임시객체 (0) | 2023.01.17 |
3. 클래스 (0) | 2023.01.16 |
1. C와 C++ 차이 (2) | 2023.01.16 |