为什么将成员函数的声明和定义分开
来源:互联网 发布:专科学软件专业 编辑:程序博客网 时间:2024/05/12 09:54
要清楚这个问题 先看看内联函数
在C++中可以通过inline声明函数:
inline int func();
编译器不会创建真正的函数,而只是将这个内联函数的所有代码复制到调用函数中(直白的说就是函数体替换了函数方法),这样程序在执行调用该函数时就不需要来回跳转。如果程序调用了上千次的内联函数,就要将内联函数中的代码复制上千次,这样会增大了程序的体积。如果程序很小,采用内联函数比较合适;
这就是声明和定义部分合并成员函数与分开成员函数之间的区别,合并后成员函数是内联函数,等于将定义部分的代码之间复制到调用函数处。在函数体积比较小的情况小,利用这种方法可以有效的提高速度,但是假如函数体很多代码并且需要重复调用该函数,那么不断复制该函数体的代码会增加函数体积;这种情况下要慎重考虑是否要用内联函数或者定义声明合并;
属于个人理解 有错请指出 谢谢!
0 0
- 为什么要将成员函数的声明和定义分开
- 为什么将成员函数的声明和定义分开
- C++: 为什么我们一般都要将函数的声明和定义分开?(separate the declaration of function from its definition)
- 为什么C++中声明和定义要分开写
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- 模板类成员函数的定义和声明为什么要放在一个文件中
- IOS 将类的声明,类的定义,主函数分开放的代码。
- 为什么不能将类模板的声明与类模板函数实现分开写
- 为什么不能将类模板的声明与类模板函数实现分开写
- 为什么不能将类模板的声明与类模板函数实现分开写?
- 模板类和模板函数的声明和定义分开文件写的方法
- C++中,类和函数分开定义声明和实现的方法
- 模板函数的声明和定义为何不能分开放在两个文件中?
- 类声明和成员函数定义的分离示例
- 类声明和成员函数定义的分离
- 模板类成员函数的定义和声明
- 类声明和成员函数定义的分离
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- 获取listview某个item的view对象
- TopCoder SRM 658 Div1 300 - OddEvenTree (树的性质 + 构造)
- 神奇的contentEditable
- Nginx1.7.4+Tomcat7+memcached集群环境搭建
- 为什么将成员函数的声明和定义分开
- 黑马程序员--IO流和字符编码
- STL中的vector、list、deque、map的数据结构
- 2015.5.5 凤凰网
- C语言指针必知必会
- [object-c]像java一样优雅的写回调
- SVN
- QT 相关资源(书籍、论坛、博客等)整理
- 操作系统实验2 作业调度实验