【发布时间】:2023-03-23 09:58:01
【问题描述】:
在 C++17 之前,存在多种将整数、浮点数和双精度数与字符串转换的方法。例如,std::stringstream、std::to_string、std::atoi、std::stoi 和其他可能已用于完成这些任务。对此,有很多帖子讨论这些方法之间的差异。
不过,C++ 17 现在引入了std::from_chars 和std::to_chars。为此,我想知道引入另一种与字符串相互转换的方法的原因。
首先,这些新功能与以前的方法相比有哪些优势和功能?
不仅如此,这种新的字符串转换方法有什么明显的缺点吗?
【问题讨论】:
-
我认为它们在处理语言环境、内存分配和异常行为的方式上有所不同,但我手头没有详细信息。
-
来自注释 "...与 C++ 和 C 库中的其他解析函数不同,std::from_chars 与语言环境无关、不分配和不抛出......" 来源:en.cppreference.com/w/cpp/utility/from_chars
-
一个字:速度!!!!
-
现在,要是 GCC 和 Clang 能完成它们的实现就好了!
标签: c++ string language-lawyer c++17