次のように使用するベクトルクラスを選択するための前処理コードがあります。
#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などを定義する必要があります。脳の働きのためだけに、もっと良い方法はありますか?