Programming/Game-Math

    C++ PreCompiled Header

    Precompiled Header? Precompiled Header는 번역해보면 사전 컴파일 된 헤더라는 뜻이 된다. 의미와 비슷하게 컴파일 시간을 줄이기 위해 차후 개발에 변경 여지가 크게 없는 소스를 미리 컴파일 해두고 컴파일 결과를 저장해 컴파일시 해당 소스의 컴파일을 생략하는 것을 말한다. ​ 개발중인 프로젝트가 커지면 커질수록 컴파일 속도가 점차 느려진다. 커질수록 느려지는 컴파일 속도에 개선점중에는 여러가지가 있다. 대표적으로 1. Precompiled Header 2. 병렬 빌드 (회사에서 많이 사용) 3. 모듈화 혹은 모듈을 dll화 4. 하드웨어 업그레이드...ㅎㅎ 5. 코드 개선 ex) 올바른 inline, template, static 사용 5가지중 가장 Precompiled Hea..

    Singleton Pattern, Lazy Initialization

    Singleton Pattern? 싱글톤을 사용할 클래스를 통해 최초 한번만 메모리를 할당하고, 단 하나의 인스턴스만을 갖도록해 이에 대한 전역적인 접근점을 제공하는 디자인 패턴 ​ ​ 왜 사용할까? 1. 싱글톤으로 만들어진 인스턴스는 전역 인스턴스이기에 타 클래스에서 사용이 편하기 때문 2. 공통된 객체를 여러개 생성해서 사용해야하는 경우에 싱글톤을 사용하면 좋다. 3. 인스턴스가 절대적으로 한개만 존재하길 바랄때 사용. 4. 고정된 메모리 영역을 가지게 되어 메모리를 낭비하지 않음. ​ ​ 문제점? 1. 현업에서의 goto를 쓰면 안된다! 라는 것처럼 싱글톤도 비슷한 문제점이 있다. 싱글톤의 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유할 경우 타 클래스의 인스턴스들간에 결합도가 높아져 객체 ..