목록동적할당 (2)
DNF LOVE
C와 C++의 가장 큰 장점이자 특징은 무엇일까? 그것은 바로 메모리 관리를 개발자가 직접한다는 것이다. JAVA와 C#같은 경우는 각각 JVM, .Net 의 VM에 의해 GC가 관리된다. 그러나 C와 C++은 각각 malloc / new 연산자를 통해 메모리를 할당하고 delete를 사용하여 메모리를 해제한다. 이를 동적할당이라 한다. 프로그램이 변수를 인스턴스화(메모리에 데이터를 할당하여 사용할 수 있도록 함) 할 때 사용 가능한 메모리 주소가 변수에 자동으로 할당되고(OS의 몫) 변수에 할당된 값은 이 메모리 주소에 저장된다. 메모리 관리를 개발자가 직접하기 때문에, JAVA와 c#과 다르게 C와 C++에서는 메모리에 직접 다가가는 포인터 개념을 사용한다. 포인터란? 어떠한 값을 저장하는 것이 아닌..
우리의 게임 최종적 모습은 이렇게 된다. 순서대로 구현해보도록 하자! 1. Player와 Coin이 부딪치면 Coin이 사라지도록 하자.(gameobject Destroy) 우리가 자주 하는 쿠x런을 떠올려 보도록 하자. 쿠키가 젤리를 먹으면 어떻게 되는가? 젤리는 플레이어가 움직임과 동시에 사라지고 점수가 올라가지 않는가? 그렇다면 플레이어와 코인이 부딪치면 코인이 사라지는 것을 구현해야 한다. 그럴때 사용하는 것이 Object.Destroy함수이다! Destroy함수는 gameobject, 시간을 매개변수로 갖고 있는 함수이다. 첫번째 매개변수는 사라질 Object를 나타내고, 두 번째 매개변수 시간 t는 Destroy함수가 호출되고 몇 초 뒤에 Object가 사라지는 것을 설정하기 위해서 존재한다...