[C++20] Module partitions和符号交叉引用(声明和实现分离)
C++20 开始支持 Module 了。在以前C++为了解决循环依赖问题,经常会把类或者函数声明写前面,实现写后面。然后中间的代码就可以实现内部模块的内聚而互相引用。比如:
class foo;
void bar(foo*);
class foo {
public:
foo(){
bar(this);
}
};那么在 Module 里怎么处理这种需求呢?其实我之前一直只是知道有这么个东西,并没有深入研究过。前段时间看到公司论坛里有同学问,就现学了并且试了一下,以下是一些记录。