作者:侯捷boost内核技术代码操作符多样化衍生
摘要:前文介绍了Boost.Function的用法,本期介绍其内核技术,我将带领读者观察Boost相关源码。我们常在Boost的不同子库中看到它们尝试以简单代码“衍生膨胀”出一些近似重复的代码。就今天讨论的Boost.Function而言,乃是利用“宏持续自身迭代”加上C++极具特色的合并操作符(拌拌)完成这类需求,而与此前介绍过的Boost.Tuple作法又有不同。Boost对这种“衍生膨胀代码”的需求的解法并非定于一尊。不同的子库采用不同的作法原因在于它们来自不同的作者,因而百花齐放。这让我们一方面在学习上感到杂乱,一方面却也能感受技术思路的多样化。这些解法无所谓优劣,百花齐放的正面意义终究大于负面意义。
注:因版权方要求,不能公开全文,如需全文,请咨询杂志社