当前位置: 首页 > wzjs >正文

网站的新闻栏与产品栏如何做域名官网

网站的新闻栏与产品栏如何做,域名官网,wordpress 颜色插件,用asp做网站有哪控件目录 1.引言 2.示例 3.总结 1.引言 为什么C的虚函数和内联函数这两个看似矛盾的特性能否共存?这个问题实际上触及了C编译期优化与运行时多态性之间的微妙平衡。我发现这个问题不仅是面试中的常见陷阱,更是理解C深层机制很好的一个点。 虚函数可以被声…

目录

1.引言

2.示例

3.总结


1.引言

        为什么C++的虚函数和内联函数这两个看似矛盾的特性能否共存?这个问题实际上触及了C++编译期优化与运行时多态性之间的微妙平衡。我发现这个问题不仅是面试中的常见陷阱,更是理解C++深层机制很好的一个点。 虚函数可以被声明为内联函数(使用inline关键字),但这并不意味着它总能被内联展开。关键在于:当虚函数表现出多态性时(通过指针或引用调用),它不能被内联;而当编译器能确定调用的具体对象时,内联是可能的。

2.示例

在 C++ 里,虚函数能够被声明为内联函数,不过这要分情况来看:

编译阶段的内联处理

在编译时,如果编译器能够确切知道虚函数的具体调用对象,那么这个虚函数就可以进行内联处理。看下面这个例子:

class Base {
public:inline virtual void func() { std::cout << "Base::func()\n"; }
};class Derived : public Base {
public:inline void func() override { std::cout << "Derived::func()\n"; }
};int main() {Base b;b.func(); // 编译时就能确定调用的是Base::func(),可内联return 0;
}

在这个例子中,由于bBase类型的对象,在编译阶段就能够明确调用的是Base::func(),所以编译器可以对其进行内联处理。

运行阶段的虚函数调用

当通过基类指针或者引用调用虚函数时,到底调用哪个类的虚函数要在运行时才能确定,这种情况下就无法进行内联。例如:

Base* ptr = new Derived();
ptr->func(); // 运行时通过虚函数表调用,无法内联

此时,函数调用是通过虚函数表来实现的,内联机制就不起作用了。

内联声明的实际作用

值得注意的是,即使我们使用inline关键字,最终是否内联仍由编译器决定。现代编译器通常会:

  • 为每个可能的多态调用生成一个非内联函数体

  • 对确定类型的直接调用尝试内联

  • 在确定的优化级别下可能忽略inline请求或内联未标记的函数

3.总结

  • 从语法层面来说,虚函数可以被声明为内联函数。
  • 当虚函数通过对象(而不是指针或引用)调用,并且编译器能够确定具体的调用对象时,虚函数才有可能被内联。
  • 要是虚函数的调用需要动态绑定,那么内联就无法实现。
  • 最终是否进行内联,由编译器根据具体情况来决定。
http://www.dtcms.com/wzjs/30906.html

相关文章:

  • 哪个网站可以做360度评估免费建站有哪些
  • 医院网站方案宁波seo网络推广渠道介绍
  • html做的旅游网站做网站怎么优化
  • 郑州发布直播武汉seo引擎优化
  • 建设电影网站数据库脚本做游戏推广一个月能拿多少钱
  • 淘宝客网站模板网站seo策划方案实例
  • 松江手机网站开发常见的网络营销方法有哪些
  • 安全的网站建设如何建立网站 个人
  • 网站备注销舟山百度seo
  • 拟与 合作建设网站 请予审批福建优化seo
  • 怎么做网站教程 用的工具开鲁网站seo站长工具
  • 搜索引擎网站提交入口百度下载安装免费版
  • 网站怎样才有流量项目推广平台有哪些
  • 做网站编程要学什么搜索引擎营销成功案例
  • 网站备案号如何查询排名第一的玉米品种
  • 建设 政务数据共享网站东莞seo排名公司
  • 网站和站点的区别网站性能优化方法
  • 自己设计logo的网站关键词全网搜索
  • 二级网站排名做不上去网销怎么销售的
  • 经营范围网站建设锦绣大地seo
  • 北京 手机网站建设江门百度seo公司
  • 一个专业做设计的网站大数据查询平台
  • 西安优秀的定制网站建设公司哪家好做教育培训应该注册什么公司
  • 网站建设的营业执照贺州seo
  • 建立网站的模板b站推广网站
  • zb533网站建设东莞网络营销公司
  • 建设网站免费模板上海自动seo
  • 网站seo优化服务seo技术软件
  • 苏州品牌网站设计谷歌浏览器下载视频
  • 虚拟主机建立网站百度网站下载