是否所以有成员函数,都可以改成内联函数?
是不是所以有成员函数,都可以改成内联函数??
在<C++编程思想>---内联函数这一章P208.看到一句话:
"有时创建的类都是内联函数时,可以把整个类放在头文件中,在程序的开发中,这是有益的,尽管编译时可能会花费更多的编译时间,一旦程序稳定后,就可以返回去,在恰当的地方把函数改成非成员函数"..
这里是不是可以这样理解:
当程序到达发布阶段时,可以尽可能的把成员函数改成非成员函数.这样在程序运行时,会提执行效率.
这种方法,是不是对于嵌入式的开发平台特别有效?
求大神解答下..
------解决方案--------------------
有时创建的类都是内联函数时
这是什么意思?应该有前文吧,类都是inline?还是说类里面没有非inline函数?
------解决方案--------------------
inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如while switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数);
------解决方案--------------------
正解,你得理解inline函数的初衷.
------解决方案--------------------
体积小的函数适合内联函数,否则不适合,没有什么特别明显的界限来区分
------解决方案--------------------
内联 inline 对于编译器来说只是一个建议,编译器可以选择忽略这个建议。
一般来说,内联机制适用于优化小的、只有几行的而且经常被调用的函数。内联函数应该在头文件中定义,因为内联函数的定义对编译器必须是可见的,以便编译器能够在调用点内联展开该函数的代码。此时仅有函数原型是不够的。
在<C++编程思想>---内联函数这一章P208.看到一句话:
"有时创建的类都是内联函数时,可以把整个类放在头文件中,在程序的开发中,这是有益的,尽管编译时可能会花费更多的编译时间,一旦程序稳定后,就可以返回去,在恰当的地方把函数改成非成员函数"..
这里是不是可以这样理解:
当程序到达发布阶段时,可以尽可能的把成员函数改成非成员函数.这样在程序运行时,会提执行效率.
这种方法,是不是对于嵌入式的开发平台特别有效?
求大神解答下..
------解决方案--------------------
有时创建的类都是内联函数时
这是什么意思?应该有前文吧,类都是inline?还是说类里面没有非inline函数?
------解决方案--------------------
inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如while switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数);
------解决方案--------------------
正解,你得理解inline函数的初衷.
------解决方案--------------------
体积小的函数适合内联函数,否则不适合,没有什么特别明显的界限来区分
------解决方案--------------------
内联 inline 对于编译器来说只是一个建议,编译器可以选择忽略这个建议。
一般来说,内联机制适用于优化小的、只有几行的而且经常被调用的函数。内联函数应该在头文件中定义,因为内联函数的定义对编译器必须是可见的,以便编译器能够在调用点内联展开该函数的代码。此时仅有函数原型是不够的。