c++ - 在 C++ 中,如果成员函数是虚拟的,什么时候可以使用静态绑定(bind)?

标签 c++ binding static

在 C++ 中,虚函数什么时候可以使用静态绑定(bind)?如果是通过指针访问、直接访问还是从不访问?

最佳答案

当通过指针或引用调用虚方法时,使用动态绑定(bind)。任何其他时间,都使用编译时绑定(bind)。例如:

class C;

void Foo(C* a, C& b, C c) {
  a->foo();  // dynamic
  b.foo();  // dynamic
  c.foo();  // static (compile-time)
}

关于c++ - 在 C++ 中,如果成员函数是虚拟的,什么时候可以使用静态绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267186/

相关文章:

C++ 将 float 转换为无符号字符?

c++ - 将注册表项值读取到 std::string 的最简单方法?

c++ - 这条线想做什么?

c++ - 内联函数访问静态?

c++ - 我们在生成可执行文件时是否同时使用 libstdc++.a 和 libstdc++.so ?

c++ - 在64位边界上对齐C++结构数组?

angularjs - ng-repeat 显示模型但不更新它

binding - 如何从 .framework 创建 MonoTouch 绑定(bind)

wpf - 更改 ItemsSource 时 GridView 列宽不会更新

泛型上的 Java 静态函数