GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • cpprefjp - C++日本語リファレンス
  • GitHub Project

This view

  • Original page
  • New address

GeezerVison is showing cpprefjp.github.io — std::free_aligned_sized - cpprefjp C++日本語リファレンス

  1. リファレンス
  2. cstdlib
  3. free_aligned_sized

最終更新日時: 2026年06月15日 14時22分22秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<cstdlib>

std::free_aligned_sized(C++26)

namespace std {
  void free_aligned_sized(void* ptr, size_t alignment, size_t size);
}

概要

アライメントと確保時のサイズを指定して、確保したメモリを解放する。

C23で<stdlib.h>に追加された関数であり、C++26で<cstdlib>に取り込まれた。

事前条件

  • ptrがヌルポインタであるか、もしくはaligned_alloc()が返したポインタであること
  • ptrがヌルポインタでない場合、alignmentはそのメモリの確保時に指定したアライメントと等しく、sizeは確保時に要求したサイズと等しいこと

効果

  • ptrがヌルポインタの場合、なにもしない
  • そうでない場合、free()(ptr)と等価である

戻り値

なし

備考

  • この関数はスレッドセーフである
  • アライメントと確保時のサイズを処理系に渡せるため、free()よりも効率的に解放できる可能性がある

例

#include <cstdlib>

int main()
{
  // 64バイトアライメントで、256バイトの領域を確保する
  void* p = std::aligned_alloc(64, 256);
  std::free_aligned_sized(p, 64, 256);
}

出力

バージョン

言語

  • C++26

処理系

  • Clang: 22 ❌
  • GCC: 16.1 ❌
  • Visual C++: 2026 Update 2 ❌

関連項目

  • free(): 確保したメモリを解放する
  • free_sized(): 確保時のサイズを指定して、確保したメモリを解放する
  • aligned_alloc(): 指定したアライメントでメモリを確保する

参照

  • P3348R4 C++26 should refer to C23 not C17
    • C++26がC23を参照するようになり、この関数が<cstdlib>に追加された
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.