内联函数,始终 n+1 个代码副本,其中'n'是调用次数
Inline function, always n+1 copies of code, where 'n' is number of calls
当我声明内联函数时,它会复制并粘贴到所谓的位置,还会有一个副本,我们可以跳到。可以停止它吗?我的意思是只有在被调用的地方才有功能代码。不再有可呼叫的副本。
ps。我知道内联函数并不总是"夹住"。
如果您不进行地址(明确或隐式),则没有理由编译器将其生成脱机。
如果将函数定义为 static inline
(c99),则不会生成可呼叫版本。实际上,如果您根本不调用该函数,则不会包含在您的对象文件中。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 如何从构造函数副本 T(const T&)调用对象 T?
- 该代码调用副本或移动构造函数
- 内联函数,始终 n+1 个代码副本,其中'n'是调用次数
- 为什么我的副本分配操作员从未被调用
- 我能知道调用方是否保留了共享指针的副本吗?
- 如何避免在调用异步函数进行 lambda 回调时出现额外的副本
- 在循环构造函数调用中创建的对象的副本
- 使用已删除的副本构造函数和初始值设定项列表重载调用类定义中的成员构造函数
- 如果引发的异常始终是异常对象的副本,为什么不调用此复制构造函数?
- 如何调用一个c++函数,而不包括头文件和副本
- 在调用C++/STL算法时,可视化消除了不必要的副本
- 调用接收对象副本的函数后,原始函数将重置