18 November 2023

C++ 核心指南目录

“Avoid cyclic dependencies among source files”

理由

循环依赖不好理解,减慢编译速度。也不利于将来切换到语言支持的模块 module。

注意

避免循环,不是仅仅通过 #include 包含保护来避免。

坏例子

// file1.h:
#include "file2.h"

// file2.h:
#include "file3.h"

// file3.h:
#include "file1.h"

强化

标记所有的循环依赖。