有std::stoull哪个需要一个basic_string_view?我不想构造一个字符串只是为了调用std::stoull,特别是因为它由const &.
如果不存在,什么是一个转变的有效途径std::basic_string_view来unsigned long long?
如果您正在寻找更高的效率,C++17在(live example)中引入了较低级别的转换:<charconv>
#include <charconv>
#include <iostream>
#include <string_view>
using namespace std::literals;
int main() {
const auto str = "2048"sv;
unsigned long long result;
auto [ptr, err] = std::from_chars(str.data(), str.data() + str.size(), result);
if (err == std::errc{} && ptr == str.data() + str.size()) {
std::cout << "Entire conversion successful: " << result;
}
}
Run Code Online (Sandbox Code Playgroud)
我不使用的原因str.begin()和str.end()是因为API是直接对const char*,没有迭代器。
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |