Tech & IT/프로그래밍

VectorImpl 분석, 템플릿과 void* 와 performance측면

해피콧 2012. 3. 23. 16:34
'); }
'); }
android\frameworks\base\include\utils
의 vectorImpl 과 vector
 
VectorImple에서 type과 관계된 것은 모두 void* 로 작성
VectorImpl을 상속한 Vector에서는 void*를 template로 casting작업해서 type맞춰줌
Vector는 casting만 하므로 작은 함수 ==> 이걸 inline으로 만든다.

작은 함수를 inline으로 만들면 코드가 사라지고 template코드가 아닌 그냥 casting code가 된다.
속도도 빨라지고 void*의 위험성을 template으로 상쇄하는 효과적인 코드