[C++ Basic] Move Semantics, Lvalue, Rvalue

c++

서론 c++을 이용해서 개발을 하다보면 복사 대신에 이동연산을 통해서 여러 이점을 얻는다는 정보를 확인할 수 있다. 그때 항상 등장하는 개념이 바로 move semanics이다. 그렇기 때문에 오늘은 이 개념에 대해서 알아보고 이동 연산자에 대해서 알아보도록 하겠다. Lvalue, Rvalue 그런데 rvalue에 이름을 붙이는 방법이 있다. Move Semantics 그러니까 move라는거는 그냥 데이터를 원래 가르키고 있던애를 가로채서 연결을 끊고 … 더 읽기

[C++ Basic] Pointer에 대하여

c++

서론 C++에서 진짜 너무 많이 등장하는 개념이 바로 Pointer이다. 메모리의 주소를 관리하고~ 뭐시기~ 항상 등장하는데, 막상 지속적으로 사용하지 않으니 게속해서 까먹는? 대표적인 개념이라고 할 수 있다. 그렇기 때문에 이번에 포인터든 스마트포인터든 한번에 다 정리해보도록 하겠다. Pointer 포인터는 그냥 메모리 주소를 담는 변수이다. int* p 는 p가 가르키는 곳에 int가 있다는 뜻이다. 더블 포인터 포인터 자체를 … 더 읽기

[C++ Basic] Casting

c++

서론 이번시간에는 Casting이라는 개념에 대해서 학습해 보도록 하겠다. 하지만 그 전에 Composition과 Aggregation의 차이에 대해서 먼저 알아보자. 1. Composition 상속이 아니라 멤버 변수에 포함을 시켜서 (Part-on) 클래스를 종속시키는 방법이다.생명주기를 포함하기 때문에 두 클래스의 생명주기가 일치한다는 특징이 있다. 이렇게 보면 MonsterA가 Character이랑 Monster를 상속받지 않고 가지고 있는걸 확인할 수 있다. MonstaerA객체가 사라지게 되면 자연스럽게 Character이랑 Monster도 … 더 읽기

[C++ Basic] Reference, Template, Allocate

c++

서론 c++ basic을 공부하기 위해서는 다른 언어들과의 기본적인 차이를 이해해야 한다. 그 차이는 바로 메모리 관리와 원본 변수를 다루고 주소를 다룬다는 점에 있다. 우리는 앞으로 C++의 이러한 개념들에 대해서 학습해볼 것이다, C++ Basics: 정적 할당과 동적 할당의 차이 매우 기본적인 개념이라 모르면 안되지만 그래도 헷갈릴 수 있는 부분이라 정리를 해보겠다. 정적할당과 동적할당은 컴파일과 관련이 있는데, … 더 읽기