void *
CI에서 함수 를 얻으려면 다음과 같이하십시오 (매우 기본적인 예).
void *get_ptr(size_t size)
{
void *ptr = malloc(size);
return ptr;
}
사용할 때 어떻게 같은 결과를 얻을 수 std::unique_ptr<>
있습니까?
stackoverflow.com/questions/4316727/…
—
dragosht
어떤 문제가 있는지 설명해주세요.
—
molbdnilo
일반적인 void unique_ptr에 대한이 답변을 참조하십시오 : stackoverflow.com/a/39288979/2527795
—
vll
malloc
이와 같이 C ++에서 사용해야 할 이유는 거의 없습니다 . 원시 메모리에 대한 포인터를 반환합니다. 사용하기 전에 새 객체를 배치해야합니다. 메모리를 할당 할 때보 다 나중에 오브젝트를 작성해야하는 충분한 이유가없는 경우 적절한 오브젝트를 작성하고 메모리를 할당 new
하거나 사용할 메모리를 사용해야 std::make_unique
합니다. 두 경우 std::vector
와는 reserve
확률값입니다. 더 나은. 이것을 사용하지 않더라도 operator new
메모리를 할당하는 관용적 방법은 아닙니다 malloc
.