我正在尝试使用C++20编译器将std::string_view
直接转换为浮点数,而不需要先将其转换为std::string
(这会导致额外的堆分配)。
#include <iostream>
#include <charconv>
int main() {
std::string_view s = "123.4";
float x;
std::from_chars(s.data(), s.data() + s.size(), x);
std::cout << x << std::endl;
}
但我无法编译这段代码:
error: no matching function for call to 'from_chars(std::basic_string_view<char>::const_pointer, std::basic_string_view<char>::const_pointer, float&)'
我做错了什么?
from_chars
吗?许多编译器目前还无法实现它。 - ALX23zstd::string
,那么也许可以使用std::strtof
? - Some programmer dude