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

+ Recent posts