Namespaces
Variants

free_aligned_sized

From cppreference.net
ヘッダーで定義 <stdlib.h>
void free_aligned_sized ( void * ptr, size_t alignment, size_t size ) ;
(C23以降)

ptr がヌルポインタであるか、 aligned_alloc の呼び出しから取得した結果であり、かつ alignment が要求された割り当てアラインメントと等しく、 size が要求された割り当てサイズと等しい場合、この関数は free ( ptr ) と等価です。それ以外の場合、動作は未定義です。

malloc calloc または realloc の呼び出し結果を free_aligned_sized に渡すことはできません。

free_aligned_sized はスレッドセーフです:この関数は、引数を通じてアクセス可能なメモリ位置のみにアクセスし、静的ストレージにはアクセスしないかのように振る舞います。

free_aligned_sized への呼び出しは、メモリ領域を解放し、 synchronizes-with 同じメモリ領域全体または一部を割り当てる後続の割り当て関数の呼び出しと同期します。この同期は、解放関数によるメモリへのアクセス後、かつ割り当て関数によるメモリへのアクセス前に発生します。各特定のメモリ領域を操作するすべての割り当て関数と解放関数には、単一の全順序が存在します。

目次

パラメータ

ptr - 解放するメモリへのポインタ
alignment - 解放するメモリのアライメント
size - 解放するメモリのサイズ

戻り値

(なし)

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.24.3.5 free_sized関数 (p: 366)

関連項目

アライメントされたメモリを割り当てる
(関数)
以前に割り当てられたメモリを解放する
(関数)
以前に割り当てられたサイズ指定メモリを解放する
(関数)
メモリを割り当てる
(関数)