静态绑定与动态绑定

这其实描述的是一种编译器寻找正确函数的行为方式,编译器是根据函数名称来寻找函数的。

所谓静态绑定就是C++在编译期寻找特定函数的行为,这主要用于处理重载函数。

所谓动态绑定是指C++在运行期根据具体的对象来寻找特定的函数,这主要体现在virtual函数机制上。

在C++中static绑定是默认的绑定行为,因为它高效且它意味着某函数你不希望被重定义,它之所以高效是因为它是C++的默认行为。以Virtual为代表的动态绑定只有遇到某函数需要被重新定义才有必要使用并且它不是C++的默认行为。

你可能感兴趣的:(静态绑定与动态绑定)