#include
using namespace std;
inline int aa(int x){
return x*x;
}
int main(){
cout << aa(5) << endl;
return 0;
}
// 함수를 inline으로 선언하면 aa(5) 부분은 aa(x*x)가 되어버린다.
// 함수를 호출하는 절차없이 그 내용을 복사해서 넣기 때문에 일반함수보다 실행속도가 빠르다.
// 대신 프로그램 용량이 커진다.
// aa(1.5)같은 부동소수점을 넣으면 손실이 발생할까? - 발생한다.
// 대처방법은 자료형이 자유로운 템플릿을 써준다.
#include
using namespace std;
template // 템플릿 선언
inline T aa(T x){ // 함수 내 모든 자료형을 템플릿으로 바꿔줌
return x*x;
}
int main(){
cout << aa(5) << endl;
cout << aa(3.1) << endl;
return 0;
}
'C++' 카테고리의 다른 글
[C++] 파일분할 방법 (0) | 2019.12.06 |
---|---|
[C++] 이름공간 (0) | 2019.12.06 |
[C++] 디폴트값 의미 (0) | 2019.12.06 |
[C++] 함수 오버로딩 (0) | 2019.12.06 |
[C++] dll 연결 방법 (0) | 2019.12.06 |