文字列から64 ビットの符号なし整数を読み取る問題に取り組んでunsigned long longいます。私のコードは、GCC 4.3 と Visual Studio 2010 の両方で動作するはずです。
私はトピックに関するこの質問と回答を読みました:ファイルから64ビット整数文字列を読み取りstrtoull、std::stringstream. 残念ながらstrtoull、Visual Studio のstdlib.h.
だから私は短いテンプレート化された関数を書きました:
template <typename T>
T ToNumber(const std::string& Str)
{
T Number;
std::stringstream S(Str);
S >> Number;
return Number;
}
unsigned long long N = ToNumber<unsigned long long>("1234567890123456789");
このソリューションの効率が心配なので、このシナリオでより良いオプションはありますか?