템플릿을 이용해서 Stack을 직접 구현하고 있음


template <typename T>

class Stack {

unsigned int capacity;

T* data;

...

}


Stack에 int나 float같은거 말고, 클래스를 push할때 capacity가 가득차있는 상태면


T* temp = new T[capacity * 2]; 하고 기존의 데이터(T* data)들을 temp[0]부터 temp[capacity]까지 넣는단 말이야


그 후 delete[] data; 해서 기존의 데이터들 지운 뒤 data = temp를 해서 data가 temp를 가리키게 함


근데 문제는 위에 new T[capacity * 2]할때 T의 디폴트 생성자들이 capacity * 2만큼 호출돼서


기존의 STL Stack보다 느려지더라. primitive type들은 내꺼가 더 빠른데 클래스만 집어넣으면 생성자때문에 느려짐


어떻게 하면 이 문제를 해결할 수 있을까??