[c++] C언어 기반의 C++ (1)

조히·2023년 4월 11일
0
post-thumbnail

함수 오버로딩(Function Overloading)

매개변수가 다른 함수의 동일한 이름의 함수 정의 허용
int MyFunc(char c) {...}
int MyFunc(int n) {...}

⚠ 반환형이 다른건 상관 없음 매개변수만

매개변수의 디폴트 값(Default Value)

int Adder(int num1=1, int num2=2)
디폴트 값은 함수의 선언 부분에만 표현

⚠ 오른쪽 매개변수의 디폴트 값부터 채워야 함
: 인자가 왼쪽부터 채워지기 때문

인라인(inline) 함수

매크로 함수(#define)는 빠르지만 정의가 힘듦
-> 일반 함수처럼 정의하는 인라인 함수

#include <iostream>
using namespace std;

inline int SQUARE(int x)
{
	return x*x;
}

int main(void)
{
	cout<<SQUARE(5)<<endl;
}

함수의 몸체부분이 호출문을 대체하게 됨

But, 매크로 함수는 자료형에 의존적이지 않지만, 인라인 함수는 반환형과 매개변수에 자료형을 받아오기 때문에 데이터 손실이 발생할 수 있음

이름공간(namespace)의 별칭 지정

namespace ABC=AAA::BBB::CCC;

범위지정 연산자의 또 다른 기능

전역변수와 동일한 이름의 지역변수가 선언되었을 때 ::val을 통해 전역변수에 접근 가능

profile
Juhee Kim | Game Client Developer

0개의 댓글