C++

c++ 함수

cheesecrust1008 2022. 4. 6. 16:04

함수의 원형

함수의 원형이란 미리 컴파일러에게 함수의 존재를 알려주는 것으로 이때 함수의 이름과 반환형과 매개변수 만을 기입하여도 된다.

하지만 이때에 매개변수의 자료형만을 기입하여도 가능하다. 

 

이때 원형에서 디폴트 매개변수를 넣을 수 있는데, 이는 함수원형에서만 선언이 가능하다. 

 

예시 : int test(double num = 3.0)

이는 매개변수에 아무것도 들어오지 않았을 때에 num 에 3.0을 넣어서 처리를 한다는 뜻이다. 

 

디폴트 매개변수에는 여러개를 넣을 수 도 있는데 이때에 앞에서 부터 뒤로 넣어 주어야 한다. 

 

중복 함수(overloading function)

정의 : 중복함수란 함수이름이 같게 선언이 가능하다. 

C 에는 이 기능이 없다. 하지만 C++ 에는 있다.

중복함수를 활용하는 방법은 이름은 같게 선언하고 들어가는 매개변수의 변수 타입이나 개수를 다르게 하여 선언이 가능하다.

(이때 반환형은 다르게 해도 중복선언이 불가능하다.)

C++ 는 함수의 signature 로 함수를 구분한다.

함수의 signature란? ->  함수의 이름 + 함수의 매개변수의 개수 + 각 매개변수의 자료형

이 3가지를 조사하여 서로 같은 함수인지 아닌지를 구분한다.

 

인라인 함수 

함수를 호출하지 않고 코드를 그대로 복사하여 넣는것이다. 따라서 따로 선언하여 부르는 것 보다 빠르다.

 

라이브러리 함수  : 컴파일러에서 제공하는 함수 이다.

 

rand() 함수는 랜덤수를 출력하는 함수이다 하지만 이는 처음 랜덤 출력한 수를 계속 똑같이 계속 출력하기에 계속 다른 랜덤 함수를 출력하기에는 옳지 않다.

 

따라서 srand()를 사용한다. 이 함수는 시드를 인자로 받아와 그에 따른 랜덤 값을 출력한다. 따라서 srand()와 ctime()을 활용한다면 계속적으로 다른 랜덤수를 생성할 수 있다.

 

'C++' 카테고리의 다른 글

c++ 변수의 scope  (0) 2022.04.07
C++ 배열  (0) 2022.04.06
C++ 자료형  (0) 2022.04.06
C++  (0) 2022.04.05
C++ / 01  (0) 2022.03.10