如何将一个模块拆分为多个文件
How to split a module into multiple files
我读过c++中的模块,有些东西我真的不明白该怎么做。我想知道如何用当前合并的模块提案有效地将c++模块拆分为多个文件。
假设我有两个要导出的类。我想拆分我的ixx文件,这样每个类的实现都留在单独的文件中。
我想象的是这样的:
interface.ixx:
export module MyModule;
export namespace MyLib {
struct A {
void doStuff();
};
struct B {
A myA;
void otherStuff();
};
}
然后,我想这样实现我的类,
A.ixx:
module MyModule;
// import self??
MyLib::A::doStuff() {
// stuff...
}
B.ixx
module MyModule;
// import self again??
MyLib::B::otherStuff() {
myA.doStuff();
}
我想知道的:是一个模块,不管文件,是意识到它的接口?如果没有,是否有其他方法将模块拆分为多个文件?我知道在这种情况下这可能看起来很愚蠢,但是对于大模块中的大类,将它们分开是很诱人的。
在合并模块提案中,[module.unit]/8:
既不包含
export
也不包含模块分区的模块声明隐式导入模块的主模块接口单元,就像通过module-import-declaration一样。
这意味着模块实现单元隐式地导入该模块的主模块接口。
相关文章:
- 尝试导入pybind-opencv模块时出现libgtk错误
- C++将向量的向量拆分为向量的N个子向量
- 为什么当我解模块化时,这个C++代代码"效率较低"?
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 如何拆分文件中.txt字母并使用c ++使用数组进行扑克?
- 内联如何影响模块接口中的成员函数
- C++返回 Numpy 数组的 Python 扩展模块
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 如何从线程中的不同模块调用函数?
- 如何使用 soong 命名空间来有条件地编译模块
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 使用 C++ 将命令行参数拆分为参数/向量
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 如何在C++中将数字拆分为数字
- 在线程之间拆分任务总是值得的吗?
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 拆分 pybind11 模块和自动类型转换问题
- 如何在单独的 Boost.Python 模块之间拆分继承关系
- 如何将一个模块拆分为多个文件