sfinae

sfinae

文章 0 浏览 6

如果类型/类有字段,则选择模板方法

假设我有以下两种类型: enum class TypeA { //... }; class TypeB { public: using _type = unsigned int; constexpr _type to_type(); //... }; 我…

掩饰不了的爱 2025-01-13 07:42:30 0 0

C++模板参数仅限于类(非基本类型)

是否可以指定一个永远不会与基本类型(例如 int)匹配的模板参数?我正在大力对抗歧义。例如: template void Function(const T& x) { SetString(x.Ge…

盛夏已如深秋| 2025-01-11 01:19:34 1 0

为什么具有相同名称和参数类型检查的函数不能共存?

我希望下面的 2 个定义能够共存,因为我添加了类型检查代码,但它给出了已经声明的错误。为什么会这样以及需要改变什么? #include #include template…

毁梦 2025-01-10 22:08:02 0 0

静态类特征的条件执行路径

在尝试实现现有 API 的新 API 替代方案时,我无法找到适当的解决方案,但我仍然希望支持向后兼容性; 让这是我的旧API: typedef int[3] Node; templa…

内心旳酸楚 2025-01-10 20:06:01 0 0

为什么SFINAE在函数重载时报告错误

以下代码无法编译,我只想测试SFINAE,为什么无法编译? #include template class TestVoid { template> * = nullptr> void func() { std::cout << "v…

输什么也不输骨气 2025-01-10 18:44:54 0 0

为什么 SFINAE 无法检测 MSVC 上的 constexpr?

我编写了以下编译时检查来检测 size 方法是否为 constexpr。遗憾的是这并没有按预期工作。它为 std::vector 返回 true。我认为用 size 的结果实例化 s…

假装不在乎 2025-01-09 00:25:54 0 0

如何为模板化的operator()编写最好的is_callable特征

我有这样定义的 is_callable 特征: #ifndef IS_CALLABLE_HPP #define IS_CALLABLE_HPP #include namespace is_callable_detail { struct no {}; stru…

聚集的泪 2025-01-04 14:00:48 0 0

is_container 特征在 std::set SFINAE 问题上失败

我正在尝试为 std 容器编写一个流运算符,主要是为了调试的目的。 我有以下代码: #include #include #include #include #include #include #include …

去了角落 2025-01-04 09:02:44 0 0

这个 has_member 类模板如何工作?

我试图了解以下类模板的工作原理(取自 此处),但我无法正确理解它: template class has_member { class yes { char m;}; class no { yes m[2];}; s…

落墨 2025-01-02 07:04:38 0 0

模板重载和 SFINAE 仅适用于函数而不适用于类

有人可以解释为什么编译器只接受这个代码 template::type =0> void a_function(){} template::type =0> void a_function(){} 而不接受这个: template…

从此见与不见 2025-01-01 04:50:24 1 0

SFINAE 能否检测私人访问违规行为?

我想知道如果我测试某个类的某个成员并且该成员是私有的,sfinae 会做出什么反应?它会严重出错还是会说“ok”或者会以 sfinae 方式出错?…

一个人练习一个人 2024-12-28 18:15:40 2 0

SFINAE 用于测试另一个命名空间中的自由函数

我试图想出一个 hack 来测试 std::isnan 是否在预处理器中没有特殊大小写编译器的情况下定义,并提出了以下内容,我希望它能正常工作。 #include #inc…

时光沙漏 2024-12-25 00:09:37 1 0

不应该定义的enable_if函数

作为一个实验,我试图创建一个没有参数的 void 成员函数,根据类模板参数更改行为: #include #include template class MyClass { public: void MyFun…

淡淡の花香 2024-12-24 22:17:17 0 0

boost::enable_if 不在函数签名中

这只是一个关于风格的问题:我不喜欢 C++ 的模板元编程方式,它要求您使用返回类型或为 SFINAE 的技巧添加额外的虚拟参数。所以,我想到的想法是将 SF…

゛清羽墨安 2024-12-24 18:44:41 1 0

对于枚举来说,替换失败不是错误 (SFINAE)

有没有办法对枚举使用替换失败不是错误(SFINAE)? template struct Traits { } template <> struct Traits { }; template <> struct Traits { enum …

拥醉 2024-12-22 15:36:00 3 0
更多

推荐作者

Promise

文章 0 评论 0

qq_lbRlsh

文章 0 评论 0

待"谢繁草

文章 0 评论 0

yy2010hell

文章 0 评论 0

漫无边际

文章 0 评论 0

傲娇萝莉攻

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文