0

あなたがそこにそれを持っていなかったならば、コードは他に何を意味することができますか?それは私には不要のようです。

4

3 に答える 3

2

すぐに頭に浮かぶのは、オブジェクトの新しいインスタンスを要求することと、あるオブジェクトと同じものという名前の関数を探すこととの間の曖昧さを解消することです。

class Foo
{
    public Foo() {};
}

static Foo Foo()
{
    ...
}

Foo myfoo = Foo(); // what do you want?
于 2012-04-22T04:41:32.137 に答える
1

言語がサポートしている場合は、静的呼び出し演算子を意味する可能性があります。これは、メモリをプログラマーにとってより明白に割り当てるという事実を作成する方法でもあります。

于 2012-04-22T04:39:18.813 に答える
1

あいまいさを避けるにはどうすればよいですか?

public class Foo 
{
    public override string ToString()
    {
        return "I'm a Foo!";
    }
}

public class Bar
{
    public void Test()
    {
        var result = new Foo().ToString();
    }

    public int Foo()
    {
        return 1;
    }
}

new キーワードがある場合、結果は「I'm a Foo!」、ない場合は「1」です。

それはさておき、ここで述べられていない新しいことは何もありません。

https://softwareengineering.stackexchange.com/questions/47678/why-do-memory-managed-languages-retain-the-new-keyword

于 2012-04-22T04:46:01.297 に答える