2015년 12월 29일 화요일

Replacement new

메모리 풀을 사용하는 경우, 클래스의 생성자나 파괴자가 자동으로 호출되지 않는다.


그런 경우 외부에서 강제로 호출해줘야 하는 경우에 사용한다.
// 개발 환경 VS2013
// tc_new 와 tc_delete 코드는 메모리풀 사용하는 코드라고 보면 된다.
// 정확히는 google tcmalloc을 사용하는 경우.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <new>  // for replacement new
Class MrPika
{
public:
    MrPika(int Input) : _value(Input) {};
private:
    int _value;
}
int main(void)
     MrPika *pPika = (MrPika*)tc_new(sizeof(MrPika));
     new(pPika) MrPika(5);  // 생성자 인자로 5를 전달해서 생성자 호출
     return 0;
}
cs

댓글 없음:

댓글 쓰기

A*, JPS 길찾기 알고리즘 시뮬레이션 사이트

https://qiao.github.io/PathFinding.js/visual/ 길 찾기 알고리즘 시행 과정을 보여주는 사이트다. 링크 메모..