C++(20):自定义类型的format

C++(20):format格式化字符串_风静如云的博客-CSDN博客

介绍了如何使用format。

对于自定义类型可以定义适配其需求的format:

#include 
#include 
#include 
using namespace std; 
 
template
class KeyValue
{
public:
    KeyValue(const string& key, T value) : m_key(key), m_value(value) {}
    string getKey() { return m_key; }
    T getValue() { return m_value; }
private:
    string m_key;
    T m_value;
};
 
template
struct formatter, CharT> : formatter
{
    template
    auto format(KeyValue t, FormatContext& fc) const
    {
        return format_to(fc.out(), "{}, {}\n", t.getKey(), t.getValue())

你可能感兴趣的:(C/C++,c++)