같은편
홍익대 게임소프트웨어전공의 프로그래밍 단련 공간
같은편
깃허브 주소
https://github.com/madongchan
GitHub 아이콘
  • 분류 전체보기 (85)
    • 게임 프로그래밍 패턴 (2)
    • C# 프로그래밍 (26)
    • C++ 프로그래밍 (32)
      • 함수 (8)
      • 클래스 (22)
    • 알고리즘 공부 (2)
      • codingame 사이트 문제 (11)
    • 유니티엔진 - 게임 공부 (3)
    • 언리얼엔진 - 게임 공부 (4)
    • 쓸모 있을 수 있는 팁 (2)
    • 일상이야기 (3)

최근 댓글

태그

  • DFS
  • 최단 경로
  • C#
  • 비동기
  • c++
  • 람다식
  • 스레드
  • 알고리즘
  • 함수
  • 탐욕 알고리즘
  • queue
  • 복사 생성자
  • 클래스
  • 언리얼엔진
  • 객체
  • 문제 풀이
  • 언리얼
  • task
  • 예외 처리
  • 언리얼엔진4

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
같은편

홍익대 게임소프트웨어전공의 프로그래밍 단련 공간

디폴트 매개변수
C++ 프로그래밍/함수

디폴트 매개변수

2022. 6. 30. 12:53

C++함수에서는 매개변수에 대한 기본(default) 값을 지정할 수 있습니다.

만약 함수의 매개변수에 대응하는 인자가 함수의 호출 시에 생략되면 매개변수에 기본 값이 복사됩니다.

이것을 함수의 기본(디폴트) 매개변수(default parameter)라고 합니다.


주의할 점은디폴트 매개변수는 맨 뒤에서부터 앞쪽으로 순서대로 채워서만 정의할 수 있습니다.


void add(int p1 = 10, int p2 = 20, int p3 = 30); //가능

void add(int p1, int p2 = 20, int p3 = 30); //가능

void add(int p1, int p2, int p3 = 30); //가능

void add(int p1 = 10, int p2 = 20, int p3); //불가능

void add(int p1 = 10, int p2, int p3 = 30); //불가능

 

이 디폴트 매개변수는 정말 많이 쓰는 기법이고 익히기 쉬우므로 필수로 알고 있어야합니다.

 

예를 들어 선분을 그리는 drawLine()이란 함수를 만들 때,

void drawLine(int x1, int y1, int x2, int y2  //점 좌표

                       int width = 1, int style=SOLID,  //선 두께, 선 스타일

                       int r=255, int g=255, int b=255);  //색상

 

이렇게 매개변수가 많은 함수에서도,

디폴트값이 지정되면 다음과 같이 필요한 부분까지만 인수를 넣어 호출할 수 있습니다.

 

drawLint(10, 10, 20, 20); // 선만 그리고 싶은 사람은 위치만 지정하면 됌

drawLint(10, 10, 20, 20, 2);

drawLint(10, 10, 20, 20, 3, DASH);

drawLint(10, 10, 20, 20, 3, SOLID, 255, 0, 0); //모두다 지정

저작자표시 비영리 변경금지 (새창열림)

'C++ 프로그래밍 > 함수' 카테고리의 다른 글

C++의 Static을 알아보자  (0) 2022.07.11
변수의 가시 범위와 생존기간  (0) 2022.07.11
라이브러리 함수와 사용자 정의 함수  (0) 2022.06.29
parameter와 argument 차이점  (0) 2022.06.24
함수란?  (0) 2022.06.24
    같은편
    같은편
    책을 통해 이때까지 블로그나 유튜브에서 얻었던 지식의 파편들을 정립하고 합쳐 단단한 발판으로 만들기 위한 블로그

    티스토리툴바