std::alloc

Function alloc_zeroed

1.28.0 · Source
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8
Expand description

Allocates zero-initialized memory with the global allocator.

This function forwards calls to the GlobalAlloc::alloc_zeroed method of the allocator registered with the #[global_allocator] attribute if there is one, or the std crate’s default.

This function is expected to be deprecated in favor of the allocate_zeroed method of the Global type when it and the Allocator trait become stable.

§Safety

See GlobalAlloc::alloc_zeroed.

§Examples

use std::alloc::{alloc_zeroed, dealloc, handle_alloc_error, Layout};

unsafe {
    let layout = Layout::new::<u16>();
    let ptr = alloc_zeroed(layout);
    if ptr.is_null() {
        handle_alloc_error(layout);
    }

    assert_eq!(*(ptr as *mut u16), 0);

    dealloc(ptr, layout);
}