1
Cの例では、静的変数には範囲外になっても値が保持されます。したがって、静的変数は以前の値を以前のスコープで保持し、新しいスコープで再び初期化されません。Adaの関数への可変データ結合の実現(Cの関数の静的変数に似ています)
どのように変数がprogranの終わりまで生きることが保証されているが、そのスコープは関数に限定され、データ結合も保証されなければならないAda言語で同じ機能を実現できますか?
Cの例では、静的変数には範囲外になっても値が保持されます。したがって、静的変数は以前の値を以前のスコープで保持し、新しいスコープで再び初期化されません。Adaの関数への可変データ結合の実現(Cの関数の静的変数に似ています)
どのように変数がprogranの終わりまで生きることが保証されているが、そのスコープは関数に限定され、データ結合も保証されなければならないAda言語で同じ機能を実現できますか?
パッケージ仕様および本体で直接宣言された変数は、プログラムが実行されている間は状態を保持します。
サブプログラムのローカル変数はそのままにすることはできませんが、パッケージ内に単一のサブプログラムを宣言して、パッケージの本体に永続変数を宣言することができます。
パッケージ。それらは関数をエクスポートしますが、プライベート部分またはパッケージ本体のいずれかで宣言された変数は、それらの関数だけが見ることができます。 (これはパッケージの1つの用途に過ぎません) –
同じパッケージ内のすべての関数ではなく、変数を1つの関数だけに表示させたい場合はどうすればよいですか? –
あなたが必要としているのであれば、その機能に独自のパッケージ(または子パッケージ)を与えることを誰も止めません。 –