CPP常见问题

为什么inline 不适用于长函数?

  • 代码膨胀,可维护性差:编译产物会增大,同时修改代码需要重新编译所有调用点,调试。
  • 缓存失效:函数体过长会降低CPU指令缓存(l-cache)效率,性能可能变慢。
  • 编译器优化能力:现代编译器自动根据函数的大小、调用频率来判断是否inline,因此手动添加的inline不一定生效。