본문 바로가기

Archived(CSE Programming)/cpp

Chap 1. C언어 기반의 C++

Chap 1. C언어 기반의 C++


1-1. printf와 scanf를 대신하는 입출력 방식


std::cout<<"출력문"<<std::endl;

std::cout<<"출력문";

std::cin>>변수;

(입력은 무조건 String으로 들어옴)


1-2. 함수 오버로딩


cpp에서는 같은 이름의 함수를 다른 매개변수를 통해서 받아서 처리할 수 있다.

void adder(int num1, int num2);

void adder(double num1, double num2);


단, 매개 변수만 다른 형태(개수, 자료형) 일 때만 오버로딩을 할 수 있다.


1-3. 매개변수의 default 값


함수 호출 시에 매개변수에 default 값을 지정할 수 있다. 함수 호출 시, default 값이 지정되어있다면 해당 인자를 넘기지 않아도 자동으로 매개변수가 default로 초기화 되어 호출 한다.

default 값은 함수의 매개변수들 중 맨 오른쪽 부터 주어져야 한다.

함수 선언 시에만 default 값을 지정해두면 정의 때는 따로 안해도 상관없음.


1-4. 인라인(inline) 함수


인라인 함수는 매크로 함수와 비슷한 기능을 하지만, 복잡한 기능을 매크로 함수처럼 처리할 수 있다. 

지정방식은 함수이름 앞에 inline만 붙여서 선언 및 정의를 하면 된다.

다만 단점은 매크로 함수와 달리 자료형으로부터 자유롭지는 못하다.


1-5. 이름공간(namespace)에 대한 소개


namespace는 말 그대로 이름 공간의 의미인데, 특정 함수들을 묶어서 호칭할 수 있도록 해주는 것이다.

우리가 계속 쓰는 std::cout 또한 namespace std에 포함되어 있는 함수들이다.


namespace std{

void cout(...);

}


이런식으로 구성되어 있는 것이다.

이 함수들은 호출 시 "::" 연산자를 통해 namespace::함수 이런식으로 접근을 하는데 일일이 써주기 번거롭다면

using namespace std 또는

using std::cout 등으로 바로 cout을 호출할 수 있다.