メモリ確保

めもりかくほ
C onlyでわりと規模の大きいときは呼び出し元で確保するとして, 最初にポインタをNULLにして渡すと必要なサイズだけが返ってきて改めてそのサイズを確保して呼び出すというのが一番安全かな. でもその手順を毎回書くのは面倒だから呼び出し先で確保してほしい, しかしライブラリがWindowsのDLLにもなりえるというところまで考えるなら, メモリ確保関数を一緒に渡してそれで確保してもらうというのに(昔は)落ち着いた. 今ならDLLにせずhppで値返ししてまう.

http://homepage1.nifty.com/herumi/diary/0808.html#12

WindowsAPIでは最初のNULLを渡されたら必要なサイズが返ってきて、という方法が採用されていてこれが一番ポピュラーなのかなと思っていたけれどメモリ確保関数を一緒に渡すという方法は目から鱗。なるほどなぁ。