매개변수가 다른 함수의 동일한 이름의 함수 정의 허용
int MyFunc(char c) {...}
int MyFunc(int n) {...}
⚠ 반환형이 다른건 상관 없음 매개변수만
int Adder(int num1=1, int num2=2)
디폴트 값은 함수의 선언 부분에만 표현
⚠ 오른쪽 매개변수의 디폴트 값부터 채워야 함
: 인자가 왼쪽부터 채워지기 때문
매크로 함수(#define)는 빠르지만 정의가 힘듦
-> 일반 함수처럼 정의하는 인라인 함수
#include <iostream>
using namespace std;
inline int SQUARE(int x)
{
return x*x;
}
int main(void)
{
cout<<SQUARE(5)<<endl;
}
함수의 몸체부분이 호출문을 대체하게 됨
But, 매크로 함수는 자료형에 의존적이지 않지만, 인라인 함수는 반환형과 매개변수에 자료형을 받아오기 때문에 데이터 손실이 발생할 수 있음
namespace ABC=AAA::BBB::CCC;
전역변수와 동일한 이름의 지역변수가 선언되었을 때 ::val
을 통해 전역변수에 접근 가능