文字列から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");
このソリューションの効率が心配なので、このシナリオでより良いオプションはありますか?