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

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

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

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

有什么区别?

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

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

最佳答案

std::stoull受到标准库得到的有力审查。 喜欢它。

您需要使用 boost::lexical_cast如果:

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

关于C++ 将字符串转换为 unsigned long long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372538/

相关文章:

c++ - Opencv Mat - 访问冲突错误 C++

c++ - 什么是 glVertexPointer 中的步幅,VBO 中的 glTexCoordPointer

c++ - 我可以使用 use_lazy_terminal 使终端的第一个参数变得懒惰 3 个参数吗?

比较 C 中的 2 个字符值

c++ - 我可以用 2 个字符替换字符串中的单个字符吗?

c# - 将成员访问函数从 Func<DerivedFromT,object> 转换为 Func<T,object>

c++ - 整数在 Visual Studio 2012 c++ 中更改其自身的值

java - 科学记数法作为 Double java Android

java - 如果从数组中复制最终变量,为什么 Java 需要对它进行显式强制转换?

t-sql - 将 varchar 转换为 float 为 bigint