静态绑定:在编译期(或程序运行前)就确定“调用哪个函数/方法”或“名字对应哪个实体”的机制。常见于非虚函数调用、函数重载解析、模板实例化等情境。
(在面向对象语境中常与 dynamic binding / late binding 相对。)
/ˈstætɪk ˈbaɪndɪŋ/
Static binding happens at compile time.
静态绑定发生在编译期。
In C++, calling a non-virtual method through an object typically uses static binding, while virtual calls are resolved via dynamic dispatch at runtime.
在 C++ 中,通过对象调用非虚函数方法通常采用静态绑定,而虚函数调用则会在运行时通过动态分派来解析。
static 源自希腊语 statikos(“使站立的、静止的”),经拉丁语与法语进入英语,引申为“固定的、不变的”。
binding 来自 bind(“捆绑、绑定”),与日耳曼语系“系住、连接”相关。
在计算机科学中,binding(绑定)指“把名字/调用与具体实现连接起来”,加上 static(静态)就表示“这种连接在编译期就确定”。