1-1. printf 와 scanf
- 출력의 기본 형태 : 과거
iostream.h 포함
cout << 출력 대상;
cout << 1 << 'a' << "String" << endl;
- 출력의 기본 형태 : 현재
iostream 포함
std::cout << 출력 대상;
std::cout << 1 << 'a' << "String" << std::endl;
- 입력의 기본 형태 : 과거
iostream.h 포함
cin >> 입력 변수;
cin >> 입력 변수 >> 입력 변수 >> 입력 변수;
- 입력의 기본 형태 : 현재
iostream 포함
std::cin >> 입력 변수;
std::cin >> 입력 변수 >> 입력 변수 >> 입력 변수;
1-2. 함수 오버로딩
동일한 이름의 함수를 중복해서 정의하는 것.
매개변수의 갯수 또는 타입이 달라야 한다.
int function1(int n){...}
int function1(char c){...}
int function2(int n){...}
int function2(int n1, int n2){...}
1-3. 디폴트 매개변수
전달되지 않은 인자를 대신하기 위한 기본값이 설정되어 있는 변수.
int function1(int a = 0)
{
...
}
함수 오버로딩시 디폴트 매개변수를 주의해야 한다.
int function1()
int function1(int a = 0)
가 정의가 되어있을때 function1()를 호출한다면 어떤 함수가 호출되어야 하는가.
1-4. 인라인 함수
- 매크로 함수를 통한 인라인 함수 : 실행 속도가 빠르다. 구현이 어렵다.
#include <iostream>
#define SQUARE(x) ((x)*(x))
int main(void)
{
std::cout<< SQUARE(5) <<std::endl;
return 0;
}
- inline 선언에 의한 인라인 함수 : 매크로 함수의 장점을 그대로 반영. 구현이 편리함. 컴파일러에게 최적화 기회 제공.
#include <iostream>
inline int SQUARE(int x)
{
return x*x;
}
int main(void)
{
std::cout<<SQUARE(5)<<std::endl;
return 0;
}
1-5. namespace
공간에 이름을 주는 행위
#include <iostream>
void function(void)
{
std::cout<<"A.com에서 정의한 함수"<<std::endl;
}
void function(void)
{
std::cout<<"B.com에서 정의한 함수"<<std::endl;
}
int main(void)
{
function();
return 0;
}
편의를 위해 using 사용.
범위 지정 연산자 기반 전역 변수 접근.
int val=100;
int main(void)
{
int val=100;
::val+=1;
return 0;
}
'C,C++' 카테고리의 다른 글
Query Performance Counter (0) | 2015.12.22 |
---|---|
열혈강의C++ 3장 요약 (0) | 2015.12.09 |
열혈강의C++ 2장 요약 (0) | 2015.09.15 |