私は次のようなC++03コードを持っています:
#include <boost/tr1/unordered_map.hpp>
...
std::tr1::unordered_map<std::string, int> mystuff;
...
コードをC++11に変換すると、後で苦しむのではないかと思い始めました。C++ 11には(おそらく)ありませんがstd::tr1::unordered_map
、std::unordered_map
代わりにあります。だから私は次のハックを思いついた:
namespace std
{
using namespace ::std::tr1;
}
...
std::unordered_map<std::string, int> mystuff; // no tr1 now!
...
それは合法ですか(多分にものをインポートすることstd
は禁止されています)?C ++ 11コードとの移植/相互運用が容易になりますか?