C++中是否可以使用模板化文本
Is templated literals possible in C++?
我想为模板类创建一个文字,这在C++中可能吗?
我想做这样的事情:
template<typename T> class A
{
A(T x);
};
template<typename T>
A<T> operator"" _d(unsigned long long int x_double)
{
return A<T>(2 * x_double);
}
A<int> a = 4_d;
如果我选择它应该始终返回,例如 A<short>
,我可以得到一个文本来编译,但是是否有可能以任何方式让编译器将类型T
从受让人的类型中推迟
不,没有这样的事情;唯一的模板文字是字符串。但是你想要的可以通过包装器类型实现:
struct ConvertToA {
unsigned long long int init;
template <typename T>
operator A<T>() { return {init}; }
};
ConvertToA operator"" _d(unsigned long long int x_double)
{
return {2 * x_double};
}
相关文章:
- 如何将 UTF-8 文本从文件转换为某个可以迭代的容器,并检查每个符号是否为C++字母数字?
- 是否可以在文本文件中找到最长单词的长度,并在同一个文本文件中读取,只需 1 个 while 循环?
- 返回从字符串文本创建的静态string_view是否安全?
- 是否保证相同内容字符串文本的存储相同?
- 是否可以创建一个用户定义的文本,将字符串文本转换为 own 类型的数组?
- 是否可以在原始字符串文本中插入转义序列?
- 如何知道文本文件中的输入是否是 C++ 中的有效数字
- 如何检查字符串格式在读取C++文本文件时是否有效?
- 是否可以在运行时调用用于选择要调用的用户定义文本的逻辑?
- 在现代C++中是否可以将字符串文本作为参数传递给C++模板?
- 标准是否阻止在可变参数模板中使用足够小的文本值缩小文本转换范围
- 是否可以在多行字符串文本中使用 C/C++ 预处理器令牌
- 是否有提供可调整 dpi、可选文本和 CSS 支持的 HTML 到 PDF 渲染器?
- C++是否可以将宏重写浮点文本为双文本或至少删除 f 后缀?
- 从文本文件读取时,如何知道是否已到达新行?
- (Qt)如何检查 QTextEdit 小部件文本是否已从 QTabWidget 更改
- Qt - 如何测试 QTableWidget 项的文本是否为整数
- 以十进制、八进制和十六进制表示法标识整数文本是否与转义字符中的整数文本相同
- 如何判断LPCWSTR文本是否为数字
- 如何确定CRichEditCtrl中所选文本是否具有多种字体大小