c++中内联函数inline的具体应用案例是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计657个文字,预计阅读时间需要3分钟。
问题描述:类成员函数定义的规范,是否需要显式添加inline?
回答:类成员函数的默认情况是内联的。如果在类定义时直接给出函数定义,则该函数默认内联。如果类中未给出成员函数定义,而想将该函数声明为内联,需要在函数声明前添加`inline`关键字。
问题描述:类中成员函数缺省默认是内联的,如果在类定义时就在类内给出函数定义,那当然最好。如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。
class A { public:void Foo(int x, int y) { } // 自动地成为内联函数 } //正确写法: // 头文件 class A { public: void Foo(int x, int y); } // 定义文件 inline void A::Foo(int x, int y){} //错误写法: inline void Foo(int x, int y); // inline 仅与函数声明放在一起 void Foo(int x, int y){}
1. 内联函数作用:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。
本文共计657个文字,预计阅读时间需要3分钟。
问题描述:类成员函数定义的规范,是否需要显式添加inline?
回答:类成员函数的默认情况是内联的。如果在类定义时直接给出函数定义,则该函数默认内联。如果类中未给出成员函数定义,而想将该函数声明为内联,需要在函数声明前添加`inline`关键字。
问题描述:类中成员函数缺省默认是内联的,如果在类定义时就在类内给出函数定义,那当然最好。如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。
class A { public:void Foo(int x, int y) { } // 自动地成为内联函数 } //正确写法: // 头文件 class A { public: void Foo(int x, int y); } // 定义文件 inline void A::Foo(int x, int y){} //错误写法: inline void Foo(int x, int y); // inline 仅与函数声明放在一起 void Foo(int x, int y){}
1. 内联函数作用:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。

