コンパイラがにキャストするときに、ある種の魔法を実行することをよく読みますPChar
。
の主な目的はPChar
、ゼロで終了する文字配列(Cスタイルの「文字列」)を期待するライブラリ内の外部コードを呼び出すことです。
PChar
PWideChar
Unicode Delphiではのエイリアスであり、PAnsiChar
非UnicodeDelphiではのエイリアスであるタイプです。
一方、 Delphi文字列(string
= AnsiString
/ 、ここでUnicodeString
は話していませんが、 ...は言うまでもありません)には、終了文字ではなく非表示の長さがあります。また、参照カウントされ、コピーオンライトを使用します。WideString
ShortString
PChar
(PAnsiChar / PWideChar)へのキャストを容易にするために、Delphi文字列は自動的に割り当てられ、暗黙の#0文字で1文字長く保たれますか、またはコンパイラは、への変換が発生したときに文字列をチェックして調整しPChar
ますか?