C++は強く型付けされてるとよく聞くけど
暗黙的な変換に関しては
なんかしっくりこないことが多い気がする。

一般の関数で行われる標準変換も便利といえば便利だが、
ときには必要もない時もあるし、
動作を変更したいときだってあるはずだと思う。
となるとtemplateと関数オブジェクト使えってことになるわけだが、
それはそれで面倒な訳だが...。