このコードはJavaでは安全ですか?メソッド内でインスタンス化される変数のスコープ - Java
public class HelloWorld {
public static void main (String args[]) {
HelloWorld h = new HelloWorld();
int y = h.getNumber(5);
int z = h.getNumber (6);
if (y == 10)
System.out.println("true");
}
public int getNumber(int x) {
int number = 5;
number = number + x;
return number;
}
}
私の同僚は、int型の数がスタックに置かれるとはgetNumberが戻ったとき、それがポップされ、潜在的に上書きすることができることを述べています。
Cで同じコードが潜在的に危険ですか?
はい、問題ありません。なぜこれが安全でないのかを説明するように同僚に依頼してください。多分あなたは私たちと分かち合うことができます。 – sstan
_scope_を実行時に発生するものと混同しないでください。 _Scope_はソースコード内で識別子を使用できる場所を定義するコンパイル時の概念です。 –
あなたの同僚は間違っています。 – sstan