【发布时间】:2014-03-08 02:42:42
【问题描述】:
我有一个两难境地,归结为(具体案例涉及更多):
连接数字字符
nc,最后应用std::stoi。初始化
int x=0;。在每次迭代中:x *= 10; x += (nc & 0xCF);
如果位数通常总是小于 6,那么什么会更有效?
【问题讨论】:
-
你只需要测量它就可以确定了。由于字符数很少,我什至会测试一个
switch-case构造,它使用fall through 来处理不同数量的字符。 -
@Praetorian 我想知道
stoi实际上在做什么.. -
就转换而言,我不认为标准对它可以做什么施加任何限制。我查看了 VS2013 实现和 IIRC,他们调用
strtol,并在此之后添加错误检查。 -
@Praetorian,据我回忆,该标准要么使它使用
strtol,要么非常强烈地鼓励它使用。它根据strtol结果描述错误处理。 -
@Praetorian 真的..?我认为这回答了我的问题
标签: c++ string int type-conversion