boolean初期値について

解決


DELLさん  2012-03-09 23:41:27  No: 41767

Delphiでflg:booleanを設定した際に、初期値は基本的にfalseからはじまりますが、そういう仕様(多言語も含む)なんでしょうか?

最初からflg:=trueみたいな設定する所とかあるんでしょうか?


KHE00221  2012-03-10 06:07:38  No: 41768

var
  Form3: TForm3;
  A: Boolean = True;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);
var
    B: Boolean = True; //ローカル変数は初期化できない
begin

end;


tor  2012-03-10 07:09:35  No: 41769

変数を明示的に初期化しなかった場合の初期値については、Object Pascal言語ガイドの「変数の宣言」の章に書かれています。
> 明示的に初期化されていないグローバル変数はコンパイラによって 0 に初期化されます。

Delphi(Pascal)のBooleanは、言語仕様上は列挙型の一種で、以下のように宣言されているのと等価です。
type Boolean = (False, True);
初期値は順序値が0のものになるので、Falseが初期値ということになります。

> そういう仕様(多言語も含む)なんでしょうか?
ブール代数では真を1、偽を0で表すのが一般的ですし
一番無難な初期値として0を選ぶのもたいていの言語で共通だと思いますよ。


DELLさん  2012-03-12 20:35:09  No: 41770

Object Pascal言語ガイド「変数の宣言」の章を読みます。
解りやすい説明ありがとうございました。

ネットでのQ&Aって便利なので使いこなせるようにしたいです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加