유물/C, C++

<C++> C++ 입문 Day3

디벅잉 2021. 11. 17. 23:16
728x90

📌 #include <그림으로 배우는 C++ (Mana Takahashi 저 / 서재원 역 / 영진닷컴)>

 

Lesson 7 (함수)

인라인 함수

- 인라인 함수는 컴파일러에 의해 호출 부분에 직접 기록되므로, 전체적으로 속도가 향상됨

inline int max(int x, int y) { if (x > y) return x; else return y; }

함수 선언

- 정의되지 않은 함수를 호출하려면 함수 프로토타입을 선언해야 함

Default Argument (기본 인수)

- 기본 인수는 함수 선언 혹은 함수 프로토타입 선언시 한 번만 지정함.

- 함수 프로토타입 선언에서 기본 인수를 지정했다면, 함수 본체를 정의할 때는 기본 인수를 지정할 수 없음.

- 기본 인수는 오른쪽부터 정의해야 함

void func(int a, int b, int c, int d = 2, int e = 10)

함수 오버로드

- 비슷한 함수 여러 개를 같은 이름으로 중복 정의(오버로드)해 두면, 그 이름과 일치하는 함수 중 인수의 형(type)과 개수가 일치하는 함수가 자동적으로 호출됨

함수 템플릿

template <class T>
T maxt(T x, T y)
{
  if (x > y)
    retun x;
  else
    return y;
}

- 다형성: 오버로드와 템플릿 처럼 하나의 이름이 상황에 맞추어 다른 기능을 가지는 것 

 

Lesson 8 (포인터)

포인터의 원리

- 포인터: 주소를 저장하는 특수한 변수

int a;
int* pA;

a = 5;
pA = &a;

- 간접참조연산자: 포인터를 통해 변수의 값 역추적

*pA

레퍼런스

int a;
int& rA = a;

- 레퍼런스의 주소는 변수의 주소와 같음

 

Lesson 9 (배열)

배열과 포인터의 관계

- 배열명은 배열 첫 번째 요소의 주소를 저장하는 포인터와 같은 기능을 함

- 배열 첫 번째 요소의 주소: test = &test[0]

- 배열 첫 번째 요소의 값: *test = test[0]

- 배열명에 다른 주소를 대입하는 것은 불가능

문자열과 배열

- 문자열 마지막에는 '\0' (Null character)가 들어감

- ""를 사용한 문자열 저장은 초기화시킬 때만 사용 가능

char str[6] = "Hello";
// str = "Hi";

표준 라이브러리 함수

#include <csting>

 

728x90

'유물 > C, C++' 카테고리의 다른 글

<C++> C++ 입문 Day2  (0) 2021.11.16
<C++> C++ 입문  (0) 2021.11.16
<C언어> 자료형, 문자열  (0) 2021.11.08