我有一个预处理代码来选择使用哪个向量类,如下所示:
#define USE_BOOST_VECTOR
#ifdef USE_BOOST_VECTOR
#include <boost/container/vector.hpp>
#define VECTOR boost::container::vector
#else
#include <vector>
#define VECTOR std::vector
#endif
我不确定这是否是一个好方法。如果我有更多的选择,我该怎么办?
弄清楚是否有更多选择
#define USE_MY_VECTOR 1
#define USE_BOOST_VECTOR 2
#define USE_STD_VECTOR 3
#define CHOOSE_VECTOR USE_BOOST_VECTOR
#if CHOOSE_VECTOR == USE_MY_VECTOR
#include "Vector.h"
#define VECTOR Vector
#elif CHOOSE_VECTOR == USE_BOOST_VECTOR
#include <boost/container/vector.hpp>
#define VECTOR boost::container::vector
#elif CHOOSE_VECTOR == USE_STD_VECTOR
#include <vector>
#define VECTOR std::vector
#endif
但我需要定义 1、2、3 等以获得更多选项。只是为了脑力劳动,有更好的方法吗?