728x90
반응형
이름, 인수 집합 및 반환 유형을 지정하는 것 외에도 함수 선언에는 다양한 지정자와 수정자가 포함될 수 있다.
- 함수의 이름 (필수)
- 인수 목록, 없을 경우 ()로 표시 (필수)
- 반환 유형은 void 일 수 있고 접두사 접미사 일 수 있다 (필수)
- inline. 함수 본문을 인라인 하여 함수 호출을 구현
- constexpr. 상수 표현식이 인수로 주어지면 compile-time에 함수를 평가할 수 있어야 함을 나타냄
- noexcept. 함수가 예외를 throw하지 않을 수 있음
- [[noreturn]]. 일반 호출/반환 메커니즘을 사용하여 함수가 반환되지 않음.
또한 멤버 함수는 다음과 같이 지정할 수 있다.
- virtual. 파생 클래스에서 재정의할 수 있음
- override. 기본 클래스의 가상 기능을 재정의해야 함
- final. 파생 클래스에서 재정의할 수 없음
- static. 특정 객체와 연결되어 있지 않음
- const. 객체 수정을 할 수 없음
이렇게 까지 표현할 수 있다. (두통 유발)
struct S {
[[noreturn]] virtual inline auto f(const unsigned long int ∗const) −> void const noexcept;
};
728x90
반응형
'Program Language > C & C++' 카테고리의 다른 글
[C++] 미리 정의된 매크로 (0) | 2022.01.13 |
---|---|
[C++] constexpr 함수 (0) | 2022.01.13 |
[C++] 명시적 유형 변환 (0) | 2022.01.12 |
[C++] lambda expression (0) | 2022.01.07 |
[C++] Constant Expressions (0) | 2022.01.06 |