【发布时间】:2019-06-14 03:33:53
【问题描述】:
什么是 C++20 的字符串文字运算符模板? Cppreference 的example 在这方面非常简洁,对我来说不是很清楚:
struct A { A(const char *); auto operator<=>(const A&) const = default; };
template<A a> A operator ""_a();
在尝试了解此功能是什么时,我刚刚了解到您可以在 C++ 中使用 数字文字运算符模板,这使得数字常量的每个数字都作为非类型参数传递给一个模板(参见更好的解释here)。目前,文字运算符模板不适用于字符文字,尽管有编译器扩展支持它。我不认为 C++20 的 string 文字运算符模板与此有任何关系,因为我了解到扩展文字运算符模板以使用字符文字的提议被委员会否决了?
【问题讨论】:
-
the proposal 回答你的问题了吗?
-
@LightnessRacesinOrbit 那是被否决的版本。
-
好的,this one 怎么样?
标签: c++ c++20 user-defined-literals