コンストラクタにexplicitを付与すると暗黙の型変換を禁止する。
引数が一個の時にしか使えない?
具体的には、int値を一個受け取るコンストラクタを持つ、クラスtestに対して、コンストラクタにexplicitを付与すると、
test x = 5; // エラー
text x(4); // OK
explicitを書かないと
test x = 5; // OK
test x(4); // OK
となる。
こうした方がいい理由についてはもっと学習した方がよさそう。
コンストラクタにexplicitを付与すると暗黙の型変換を禁止する。
引数が一個の時にしか使えない?
具体的には、int値を一個受け取るコンストラクタを持つ、クラスtestに対して、コンストラクタにexplicitを付与すると、
test x = 5; // エラー
text x(4); // OK
explicitを書かないと
test x = 5; // OK
test x(4); // OK
となる。
こうした方がいい理由についてはもっと学習した方がよさそう。