메모리관리

자바스크립트가 제공하는 데이터 타입은 총 7가지가 있다. 숫자(number) 문자열(string) 불리언(boolean) null undefined 심벌(Symbol) 객체(Object) 이 중에서 7번 객체 타입을 제외하고는 원시 타입(primitive type) 이라고 부르며 객체 타입은 영어로 reference type 이라고 부르기도 한다. 데이터 타입을 이렇게 구분하는 이유는 원시 타입과 객체 타입이 근본적으로 다른 점이 있기 때문이다. 크게 3가지 정도 생각해 볼 수 있다. 원시 타입은 변경이 불가능한(immutable) 값이다. 반면에 객체(참조) 타입은 변경 가능한(mutable) 값이다. 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장 된다. 반면에 객체를 변수에..
이번 포스팅에서는 포큐 아카데미 C++ 강의 중 스마트 포인터 부분에 대한 내용을 정리해 보려고 한다. 스마트 포인터에는 다음과 같이 세 가지가 있다. unique_ptr, shared_ptr, weak_ptr. 이 중에서 unique_ptr는 정말 많이 쓰이고, shared_ptr는 적당히 쓰이며, weak_ptr는 잘 쓰이지 않는다. 포인터는 다음과 같이 사용할 수 있다. #include "Vector.h" int main() { Vector* myVector = new Vector(10.f, 30.f); // ... delete myVector; return 0; } 문제는 더 이상 포인터가 필요하지 않을 때 메모리를 해제해야 한다. 스마트 포인터를 쓰면, delete를 직접 호출할 필요가 없다. ..
DevOwen
'메모리관리' 태그의 글 목록