void *
CIの関数からを取得するには、次のようにします(非常に基本的な例)。
void *get_ptr(size_t size)
{
void *ptr = malloc(size);
return ptr;
}
使用時に同じ結果を得るにはどうすればよいstd::unique_ptr<>
ですか?
stackoverflow.com/questions/4316727/...
—
dragosht
それを行うことでどのような問題が発生しているか説明してください。
—
molbdnilo
一般的なvoid unique_ptrについては、この回答を参照してください:stackoverflow.com/a/39288979/2527795
—
vll
malloc
このようなC ++で使用する理由がほとんどないことに注意してください。使用を許可する前に新しいオブジェクトを配置する必要がある生のメモリへのポインタを返しています。メモリを割り当てるときよりも後でオブジェクトを作成する十分な理由がない場合は、new
またはstd::make_unique
を使用してメモリを割り当て、適切なオブジェクトを作成する必要があります。どちらの場合でもstd::vector
、reserve
確率が高いです。あまりにも良い。これらを使用しない場合でも、operator new
はメモリを割り当てる慣用的な方法であり、ではありませんmalloc
。