다음은 다소 재미있는 C++ 코드이지만, 작동한다는 것을 알고 있습니다.무효 포인터 버퍼로부터의 구조체 인스턴스화
구조체가 정의되어 있으며 프로그램에서 void 포인터를 사용하여 메모리를 할당합니다. 그런 다음 구조체는 할당 된 버퍼를 사용하여 생성됩니다.
여기 코드는 더 많은 물건을 가지고 몇 가지 코드
typedef struct{
char buffer[1024];
} MyStruct
int main()
{
MyStruct* mystruct_ptr = 0;
void* ptr = malloc(sizeof(MyStruct));
// This is the line that I don't understand
mystruct_ptr = new (ptr) MyStruct();
free(ptr);
return 0;
}
, 그러나 그것은 그것의 요점입니다.
이 코드는 테스트하지 않았지만 내가보고있는 코드는 매우 잘 테스트되고 작동합니다. 그러나 어떻게?
감사합니다.
편집 : 메모리 누수가 수정되었습니다.
표시된 코드가 메모리를 누설합니다. 아마도 전체 프로그램에서 문제가되지는 않습니다. –