sfinae 相关问题

替换失败不是错误。这是一种C ++编程技术,允许模板验证有关其模板参数的属性,从而允许在某些类型的对象可用时使用不同的特化。

如何应用make有条件显式的默认构造函数?

问题假设我们有一个(虚构的)类模板C. 使用有条件显式的默认构造函数。当且仅当std :: is_same_v时,默认构造函数应该是显式的

回答 1 投票 2

如果对boost boost器类型无效,如何创建回退?

我正在尝试编写一个函数,允许对不同类型的各种向量应用各种Boost累加器对象。对于某些类型,累加器对象没有意义。为......

回答 1 投票 1

SFINAE使用扣除,但没有替代

考虑以下MCVE结构A {};模板 void test(T,T){}模板 class Wrapper {using type = typename T :: type; };模板 无效测试(...

回答 3 投票 21

参数包与前一个参数类型匹配

所以我使用一个简单的例子来尝试理解可变参数模板和一些tmp技术。该示例包含一个Timer类,它具有toc()方法。用于停止计时器的toc方法......

回答 1 投票 0

具有默认参数的SFINAE函数 - 自由函数与运算符()

我正在玩这个答案来研究它如何使用默认参数处理函数。令我惊讶的是,自由函数和operator():模板的结果是不同的

回答 2 投票 19

基于自定义void_t实现的成员检测

我已经将C ++模板书作为完整指南,我正在尝试实现一些所描述的技术。其中一个是成员函数检测,但我的实现似乎不起作用。一世 ...

回答 1 投票 1

如何在使用SFINAE时忽略返回类型

我有这段代码:模板 struct is_dereferenceable_exact {typedef char yes; typedef struct {char dummy [2];不模板

回答 1 投票 0

SFINAE的模板专业化

我一直在使用模板很长一段时间,但最近我遇到了一个奇怪的SFINAE模板编程。我的问题是为什么我们写typename = {something}作为模板......

回答 3 投票 0

如何检测一个类是否有成员变量?

问题我想检测一个类是否有成员变量,如果有的话就失败静态断言。类似于:struct b {int a; } static_assert(!has_member_variables,“Class ...

回答 2 投票 8

带有typename的Concepts / SFINAE错误

我正在尝试使用新的概念语法为自己做一个简单的例子。我决定测试一个类型是否定义了operator(),并创建了一个结构来使用SFINAE范例来测试它,但我...

回答 2 投票 1

使`std :: get`与SFINAE一起玩得很好

std :: get似乎不是SFINAE友好的,如以下测试用例所示:模板 auto foo(C&c) - > decltype(std :: get (c)){return std :: get

回答 3 投票 15

在编译时迭代检查函数是否存在

关于我现在面临的一个问题,我有一个问题。在C ++中,我创建了一个帮助程序,能够检测给定模板方法的模板参数是否实现了序列化方法(...

回答 2 投票 1

隐藏超载虚拟功能的模板访问者:使用SFINAE?

我正在编写访问者模板(取决于我们想要访问的类型):#include #包括 #包括 #包括 上课;上课...

回答 2 投票 1

SFINAE:它如何与派生类一起使用?

我写了以下代码:template class Int {public:int value; };模板 class类:public Int {}; int var;模板

回答 1 投票 0

SFINAE未能使用中间类型特征

请考虑以下测试代码://预处理器#include #包括 //没有类型别名模板的结构 struct invalid {}; // 结构体 ...

回答 3 投票 1

如何区分功能类型与SFINAE

我正在读书C ++模板。它提到SFINAE(替换失败不是错误)主体可用于检测函数类型。代码示例:模板 class IsFunctionT {...

回答 2 投票 4

SFINAE模板成员重载

我想专门研究getVector成员函数,我正在尝试使用SFINAE。但它只有在Dim为3或更高时才有效。模板 class Mat {...模板

回答 1 投票 2

具有特征参数的模板特化函数

我试图用特殊类型的模板特化来编写一些函数,遵循这个问题:Eigen:类型演绎模板特化基类我写道:#include

回答 2 投票 1

用于成员函数检测的递归type_traits

我试图递归地应用type_trait has_fun,这样只有当T有一个时,C才会启用其有趣的成员函数。有没有办法让C :: fun被有条件地检测出来?模板

回答 4 投票 4

如何使用布尔模板参数启用成员函数?

我希望一个类有两个不同的push实现,并根据布尔模板参数进行选择。我尝试使用此答案中描述的SFINAE原则,如下所示:template&...

回答 2 投票 3

© www.soinside.com 2019 - 2024. All rights reserved.