Ich habe 03 Code C++, die wie folgt aussieht:Importieren von std :: tr1 in std - ist es legal? Verbessert es die Portabilität?
#include <boost/tr1/unordered_map.hpp>
...
std::tr1::unordered_map<std::string, int> mystuff;
...
Ich frage mich, begann zu, dass ich später würde leiden, wenn/wenn ich meinen Code C konvertieren 11 ++, die (i guess) doesn‘ t haben std::tr1::unordered_map
aber hat std::unordered_map
stattdessen. So kam ich mit dem folgenden Hack up:
namespace std
{
using namespace ::std::tr1;
}
...
std::unordered_map<std::string, int> mystuff; // no tr1 now!
...
Ist es legal (vielleicht Sachen in std
Import verboten ist)? Erleichtert es die Portierung/Interoperabilität mit C++ 11-Code?
Mein Compiler (VS2010) versteht noch 'std :: tr1', obwohl jetzt auch alles in' std' existiert. – Benj