怎么理解【最佳可行函数】应该满足的条件?
9.4.3 最佳可行函数最佳可行函数是具有与实参类型匹配最好的参数的可行函数,对于每个可行函数来说,每个实参的类型转换都被划分了等级,以决定每个实参与其相应参数的匹配程度。(9.2 节描述了得到支持的类型转换)最佳可行函数是满足下列条件的可行函数:
1 用在 实参上的转换不比调用其他可行函数所需的转换更差。
2 在某些实参上的转换要比其他可行函数对该参数的转换更好。
以上引用于 C++ primer 3rd 中文版 潘爱民 张丽 译
书上原文。我怎么也不理解,第一点和第二点说的不就是一个意思吗?第一个说,不比调用其它可行函数进行的转换差,第二个说要比调用其它可行函数进行的转换好。只不过第二点特别说明了“某些实参”。我真想不明白为什么要把这两个条件分开说。请大虾们给点方向。小弟在此先行谢过了。