C++之INL文件的使用
2021/9/2 20:36:23
本文主要是介绍C++之INL文件的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#ifndef BASECLASS_H
#define BASECLASS_H
#include <iostream>
using namespace std;
class BaseClass
{
public:
BaseClass();
void inlineFun();
};
#include "BaseClass.INL"
// 引入文件和下面这种直接写一样
//inline void BaseClass::inlineFun()
//{
// cout << __FUNCTION__;
//}
#endif // BASECLASS_H
#ifndef BASECLASS_INL
#define BASECLASS_INL
inline void BaseClass::inlineFun()
{
cout << __FUNCTION__;
}
#endif // BASECLASS_INL
为啥要加入这个文件呢,直接在头文件里面写不就行了吗?? 如果内联函数的定义比较短小, 逻辑比较简单, 实现代码放在 .h 文件里没有任何问题. 比 如, 存取函数的实现理所当然都应该放在类定义内. 出于编写者和调用者的方便, 较复杂的 内联函数也可以放到 .h 文件中, 如果你觉得这样会使头文件显得笨重, 也可以把它萃取到 单独的 -inl.h 中. 这样把实现和类定义分离开来, 当需要时包含对应的 -inl.h 即可。 -inl.h 文件还可用于函数模板的定义. 从而增强模板定义的可读性.
这篇关于C++之INL文件的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享