전역 operator delete / delete[] 를 재정의하려고 합니다..
근데 class member 재정의와는 다르게 전역 operator delete / delete[] 는 할당 크기를 알아낼 방법이 없네요.
이리저리 검색해보니 할당크기 앞 4바이트에 크기를 저장한다는 내용을 봤는데,
소멸자가 없으면 이것도 없다..
template <typename T, int a> class A
{
A<T, a-1>* container_;
A(int N) {
container_ = new A<T, a-1> [N];
}
};
template <typename T, int a> class A <T, 1>
{
T* element_;
A(int N) {
element_ = new T [N];
}
};
위와 같은 코드를 작성하고 싶습니다.
그런데 gcc 로 컴파일 해보면 template parameters