met*_*dos 6 c++ qt coding-style header header-files
在Qt源文件中,有两个版本的头文件,例如:
qxmlstream.h
qxmlstream_p.h
Run Code Online (Sandbox Code Playgroud)
为什么有_p.h文件?
它们通常是私有头文件,用于使子系统的组件知道除用户不需要的所有内容.
换句话说,如果Qt的用户不需要了解它们,Qt中的多个C源文件可能想知道的内容将在私有头文件中.
一个示例可能是您的子系统的自定义内存分配器.也许您知道您所做的每个内存分配都是128个字节,那么您可以提供这样的分配器:
void * malloc128 (void) { ... }
Run Code Online (Sandbox Code Playgroud)
由于这对您的子系统用户来说可能具有可疑价值,因此将其作为官方API的一部分发布是没有意义的,但是您自己的源文件中的每一个都需要原型,因此您将其放在私有头文件中.
然后你自己的代码使用:
#include "mysubsystem_p.h"
Run Code Online (Sandbox Code Playgroud)
您的API用户使用:
#include "mysubsystem.h"
Run Code Online (Sandbox Code Playgroud)