Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
SGI STLアロケータのサブ割り当てには、サイズ8、16、....、128の小さなブロックを個別に管理する16のフリーリストがあります。フリーリストのノードの構造は次のとおりです。
union obj{ union obj *free_list_link; char client_data[1]; }
私の質問は:なぜそれがこのように設計されているのですか?client_dataのメンバーは何に使用されますか?
これは一般的なデザインパターンです。client_data []は実際には8、16、..128バイトです。objが割り当てられている場所を見ると、128バイトのブロックの場合はmalloc(sizeof(obj)+ 128)のようになります。