관리 메뉴

ComputerVision Jack

[C++ 프로그래밍 Chapter2] 본문

Programming Language/C++ Programming

[C++ 프로그래밍 Chapter2]

JackYoon 2020. 1. 14. 20:25
반응형

[C언어 복습]

키워드 const의 의미

  • const int value = 1;  변수 value를 1로 상수화
  • const int *ptr = &value;  포인터 변수를 이용해서 value의 값을 변경 할 수 없음
  • const *const ptr1 = &value;  포인터 ptr1이 상수화
  • const int * const ptr3 = &value;  포인터 ptr3이 상수화 되면서 value의 값을 변경할 수 없음

[자료형 bool]

C++에서는 새로운 자료형 bool이 등장한다.

과거 C와 다르게 매크로 상수(1, 0)을 사용해서 참거짓을 표현할 필요가 없다.

 

bool true; bool false;를 가리켜 bool형 데이터라고 한다.

 

[참조자 Reference]

참조자는 포인터와 비유되기 쉽다.(사실상 포인터라고 이해하는게 편하다..)

&연산자

변수 선언 앞 : 주소 값을 반환하는 연산자

새로운 변수 앞 : 참조자의 선언

 

참조자는 자신이 참조하는 변수를 대신할 수 있는 또 다른 이름이다.

참조자 수에는 제한이 없으며, 참조자를 대상으로 참조자를 선언할 수 있다.

참조자는 변수에 대해서 선언이 가능하고, 선언과 동시에 누군가를 참조해야한다.

 

참조자(Reference)와 함수

참조자를 이용하여 call-by-reference를 구현 할 수 있다.

따라서 C언어와 다르게 함수의 원형만 가지고 call-by-value / call-by-reference라고 단정할 수 없다.

 

const 키워드를 이용하여 극복 가능.

또한 함수의 반환형에도 참조형이 선언 될 수 있다. 이 경우 반환값에 따라 결과가 차이가 존재한다.

참조자 이해

위 경우 함수 반환으로 함수내 지역변수를 이용하지 말자.

지역 변수는 함수가 종료되면 소멸하기 때문이다.

[new & delete]

new : malloc을 대신하는 키워드

delete : free를 대신하는 키워드

int * arr = (int*) malloc (sizeof(int) * 3); 다음과 같은 의미이다. int * arr = new int[3];

동작 방식에 차이가 존재한다.

클래스를 이용하여 객체 생성시 출력해보면 의미를 알 수 있다. - 생성자 때문

[C++ 표준함수 호출]

c를 더하고 h를 빼라

#include<string.h> -> #include <cstring>

c++함수 오버로드 기능때문에 사용.

반응형

'Programming Language > C++ Programming' 카테고리의 다른 글

[C++프로그래밍 Chapter6]  (0) 2020.01.23
[C++프로그래밍 Chapter5]  (2) 2020.01.21
[C++ 프로그래밍 Chapter4]  (0) 2020.01.19
[c++ 프로그래밍 Chapter3]  (0) 2020.01.16
[C++ 프로그래밍 Chapter1]  (0) 2020.01.14
Comments