c++,explicitの使い道について知りたい
explicitの明示的コンストラクタなの使い方なのですが、引数が一個の時だけ使えて
暗黙的型変換を防止できできてmain.cppのmain関数で test x = 5;という書き方がエラーになって。text x(4);はできる。。explicitを書かないとtest x = 5;のやり方が出来てtest x(4);もできるということはわかるのですが、暗黙的型変換の防止とこれをする使いみちを教えてほしいです。
            class test {
        private:
            int x;
            int y;
        public:
            int pri_x()const {
                return x;
            }
            int pri_y()const{
                return y;
            }
            explicit test(int a):x(a){ }
             //test(int a):x(a){ }
        };