如何解决libfmt和std :: format有什么区别?
我知道c ++ 20格式的提案是libfmt的 parts 的形式化规范,而libfmt是该形式化的兼容实现。但是,据我了解,libfmt提供了c ++ 20标准中指定的功能以外的其他功能。有哪些其他功能?
此外,主要的编译器供应商是否只是包含libfmt的子集或重新实现它?
解决方法
libfmt中有一堆不是C ++ 20格式的东西:
-
fmt::print()
直接打印到标准输出。这在P2093中提出。fmt::printf()
也存在,但在该论文中未提出。 -
fmt::memory_buffer
基本上是一个动态尺寸的容器,您可以通过fmt::format_to(buf,...)
将其格式化。 - 支持格式化ranges and tuples,包括
fmt::join()
。 - 支持
fmt::print("Elapsed time: {s:.2f} seconds","s"_a=1.23);
之类的named arguments - 通过
FMT_COMPILE
的编译时格式字符串
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。