10/04/24 22:45:55
> (1)のデメリットは呼び出し元で入れたいメモリー領域がある場合、createした構造体をコピーする必要がある。
入れたいメモリ領域がある場合はinitのパラメータにもたせれば良いのでは?
> (2)のデメリットは呼び出し元でinitを呼ぶ前に構造体の大きさを知っていなければいけない。
my_struct *p = (my_struct *)malloc(sizeof(my_struct));
ではだめだということ?
常に呼ばなければならないreleaseを作成するのであれば、常にinitの中でallocすればいいと思う。
そうでないのなら、構造体本体は利用者がalloc-freeすればいいと思う。というか、そうしてる。