c++中利用模板解决条件编译的问题
问题背景:
唔,我正在写一个B+树,其中它的节点查找算法需要在不同的应用场景下采用不同的算法。我可以采用顺序查找和二分法查找两种方案,如果这个节点元素比较小时,用顺序查找的方案要快一些,当节点元素比较多时,则用二分法查找。
第一方案:用if来解决
我们会最容易想到的是
template<int nodesize>
struct CBinaryTreeNode
{
bool Search(...)
{
if(nodesize > critical_size)
{
binary_search(...); //二分法查找
}