2

クラスにこのifdef typedefがあります:

#ifdef HASHMAP
    typedef std::unordered_map<unsigned int, L1Entry> L1; //C++ 11 only
#else
    typedef std::map<unsigned int, L1Entry> L1;
#endif

クラスの新しいオブジェクトを作成するときに、どのコンテナーを使用するかを制御する必要があります。これを行うための最良のアプローチは何ですか?

4

2 に答える 2

0

これのことですか?

  #ifdef __GXX_EXPERIMENTAL_CXX0X__ //Checks for C++11
      typedef std::unordered_map<unsigned int, L1Entry> L1; //C++ 11 only
  #else
      typedef std::map<unsigned int, L1Entry> L1;
  #endif
于 2013-08-08T06:50:49.153 に答える