bson_t Lifetimes
이 페이지의 내용
bson_t 데이터를 직접 포함하거나 힙 할당 메모리에 대한 포인터를 포함할 수 있습니다. 기존 bson_t 덮어쓰기 또는 스택 할당 bson_t Go 를 허용합니다. 범위를 면 메모리 누수가 발생할 수 있습니다. A bson_t 항상 bson_destory로 파기해야 합니다.
bson_t 출력 매개변수
A bson_t 출력 매개변수로 사용되는 포인터는 새 bson_t 에 대한 유효한 덮어쓸 수 있는 저장 를 점 야 합니다. 다음 중 하나여야 합니다.
bson_t 의초기화되지 않은 저장 입니다.
0으로 초기화 된 bson_t 객체.
A bson_t 로 초기화된 객체
BSON_INITIALIZER
입니다.A bson_t bson_new 로 객체 가 생성되지 않았습니다. 즉,bson_destory로 파기되었습니다.
이는 스택에 있을 수 있습니다.
bson_t stack_doc = BSON_INITIALIZER; example_get_doc (&stack_doc); bson_destroy (&stack_doc);
또는 힙에서:
bson_t *heap_doc = bson_malloc (sizeof (bson_t)); example_get_doc (heap_doc); bson_destroy (heap_doc); bson_free (heap_doc);
bson_destory 생략 두 경우 모두 메모리 누수가 발생할 수 있습니다.