跟我学C++中级篇——Concepts的循环依赖循环依赖,这个东西非常可怕。如果是简单的依赖还好说,直接大家都可以看出来。但在复杂的场景下,如果产生这种循环依赖,很难发现,而且问题也可能比较隐藏,错误提示也不友好。 产生循环依赖的原因简单的说就是互相将彼此的任务完成当前自己任务完成的前提。从这个角度看,线程的死锁、类(头文件)、条件判断以及类似的场景都有可能产生循环依赖。不过相对于线程的死锁广泛流行为开发者熟知,条件判断可能太简单,基本很难有人写出这种低级错误,即使真写出来也很容易发现。 但是在C++编程中,模板编程相对于开发者们来说,本身就是一小众的