C ++将字符串转换为unsigned long long

时间:2015-02-06 18:38:00

标签: c++ string casting unsigned-long-long-int

在C ++中,我发现将字符串转换为unsigned long long的两个选项是:

boost::lexical_cast<unsigned long long>(theString);  //option#1
stoull(theString);                                   //option#2

有什么区别?

是首选吗?如果是,为什么?

还有其他更好的选择吗?如果是,为什么选项更好?

1 个答案:

答案 0 :(得分:4)

std::stoull收到标准库获得的有力评论。 喜欢它。

如果符合以下条件,您需要使用boost::lexical_cast

  • 您在 C ++ 11之前使用的是C ++标准
  • 您正在转换为可能unsigned long long的模板类型,但可能是另一种类型。