프로그래밍(Programming)/c++, 11, 14 , 17, 20
void* operator new(size_t t, 추가 인자와 사이즈 계산
3DMP
2012. 11. 1. 18:08
#include <iostream>
#include <Windows.h>
using namespace std;
struct UObject{
int aa;
int bb;
int cc;
};
enum EInternal {EC_Internal};
void* operator new(size_t t,EInternal* Mem){
return malloc(t);
}
void* operator new(size_t t){
return malloc(t);
}
int main(){
int* pi=new int;
char* pc=new char;
void* X=new char;
new( (EInternal*)X ) UObject; // X 가 *Mem 으로 전달 되고 UObject 의 크기 12가 t 로 전달된다
// new( (EInternal*)X ) UObject( UObject 의 생성자 인수목록 );
delete pi;
delete pc;
return 0;
}
반응형