책(8)
-
[펌] 싱글톤
작년에 다른 팀에 면접 지원을 나간적이 있습니다. 윈도우 프로그래밍 경력자를 뽑고 있었는데 그 팀에는 윈도우 프로그래밍 경험을 가지신 분들이 없었기 때문이죠. 면접을 위해 윈도우 프로그래밍과 C++ 문법, 그리고 알고리즘 질문을 각각 준비했었는데 그 중 C++ 언어 관련 질문으로 제가 준비한 것은 다음과 같습니다. C++ 에서 싱글톤 패턴을 구현하는 방법들을 아는데로 나열하고 각각의 장/단점을 말해보세요. 전 이전 회사에서부터 면접 때 항상 이 질문을 하곤 했습니다. 왜냐하면 싱글톤을 구현하는 방법에는 C++ 에서 필수적으로 알아야 하는 생성/소멸자, 권한, static의 특성 등 기본적인 문법 사항을 고루 담고 있기 때문입니다. 그런데 비교적 해묵은 주제임에도 불구하고 면접을 보신 분 중 한 분도 제대..
2014.11.21 -
[Game Engine Architecture] 2부 로우레벨 엔진 시스템 - 메모리 관리(1)
동적 메모리 할당 ( malloc(), new 연산자 ) 는 매우 느리다->동적 메모리 할당을 피하거나 할당 비용을 크게 줄일 수 있는 메모리 할당자(allocator)를 직접 만들어야한다같은 데이터라도 작고 연속적인 메모리 블록에 들어있는 경우가 넓은 메모리 주소에 분산되 있는 경우보다 훨씬 빠르다 위 관점으로 코드의 메모리 활용 최적화를 해보자면, 동적메모리 할당(heap allocation) (ex. malloc(), free(), c++의 전역 new 연산자, delete 연산자) 은 보통 엄청 느리다. 두 가지 이유heap allocation 은 범용 목적이기 때문에, 1바이트에서부터 수 기가바이트까지 어떤 크기의 할당이라도 처리할 수 있어야한다 이를 관리하는데 부가적인 비용이 필요함malloc..
2014.11.21