参考这里 https://zhuanlan.zhihu.com/p/82244559
这三个关键之是针对库的依赖库而言的。
比如target依赖于A,A依赖于BCD。
对于Public:A和target都能用B中定义的功能;
对于Private:target不能用C中的功能,A却可以;
对于Interface:A.h只是透传D的接口D.h给target,A不能用D中的函数,target却可以。
不过有一点疑问,对于interface模式,A.h中有D.h,D.cpp包含了D.h,那为何A.cpp/.c不能用D.cpp中定义的功能呢?