c++20实现串字面,串当模板

template<std::size_t N>
struct 双串
{
    char p[N*2-1]{};
    constexpr 双串(char const(&pp)[N])
    {
        std::ranges::copy(pp, p);
        std::ranges::copy(pp, p + N - 1);
    };
};
template<双串 A>
constexpr auto operator"" _x2()
{
    return A.p;
}
#endif // C++20

int main()
{
    std::cout << "abc"_x2 << '\n';
}
posted @ 2022-02-07 12:59  zjh6  阅读(20)  评论(0)    收藏  举报  来源