一部のデータを取得して処理する関数を作成する必要があります。このデータは、いくつかの方法で割り当てることができます(データセグメント、ヒープ、共有メモリセグメントなど)。
T *data;
if( global ) data = &d;
if( heap ) data = new T [ size ];
if( shm ) data = (T*) shmat( id, 0, 0 );
// processing data ...
動的に割り当てられる可能性があるので、それを処理する最良の方法は、または他の種類のスマートポインタdata
を使用することだと思います。unique_ptr
ただし、常に動的に割り当てられるわけではありません。実行時にの削除機能を選択する必要がありますunique_ptr
が、それは不可能です。
どのように定義して処理する必要がありますdata
か?