Delphi では、sizeof()
コンパイラのマジック関数を使用して値型のサイズを取得できますがsizeof()
、参照型を呼び出すと、ポインタが指している値ではなく、ポインタのサイズが得られます。
オブジェクトの場合はInstanceSize
メソッドでメモリサイズを取得できますが、動的配列の場合はどうでしょうか。パディングのため、length(MyArray) * sizeof(element)
正確でない場合があります。それで、動的配列のメモリサイズを取得する正確な方法はありますか?