why constructors aren't explicit by default?

后端 未结 3 435
一向
一向 2021-01-01 19:56

It\'s so easy to forget to mark a constructor \"explicit\": adding/removing args, making them optional etc. the single reliable way I know is to declare every constructor as

3条回答
  •  鱼传尺愫
    2021-01-01 20:01

    Backward compatibility at the time when explicit was added. The language was evolving and changing meaning of existing constructs in an evolving language is a sure way to make your users angry. It is still the case now, backward compatibility is something high in the mind of the comittee.

提交回复
热议问题