sfinae 相关问题

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

使用概念对任何具有特定值类型的容器进行C++迭代。

我想把我的模板中所有不和谐的enable_ifs去掉,用C++20的概念来代替,然而几乎没有任何关于概念的信息,而且语法的变化与我的任何源 ...

回答 1 投票 3

如何在方法调用中使用SFINAE有条件地定义一个变量?

我想定义一个模板类IE,它提供了public method().method()调用底层的private run(),它可能会接受与传递给IE的模板参数相关的参数。所以,我想 对于IE来说

回答 1 投票 0

关于函数模板实例化的sfinae。

我想检查一个函数模板是否可以为给定类型实例化。举个例子,对于模板:模板 void f() { T{}; } 我想断言f

回答 1 投票 1

SFINAE内概念模板参数

SFINAE在概念论证里面能用吗?也许这里不叫SFINAE)。例如:模板 需要 std::invocable && /

回答 1 投票 3

SFINAE在这里不适用吗?

我写了一些东西,使用SFINAE在某些条件下不生成函数。当我直接使用元代码时,它能正常工作,但当我通过另一个间接使用该代码时, ...

回答 3 投票 3

只对一个类模板的一个方法进行专门化

我有一个类模板,它可以正确地适用于所有可能的类型T1,T2.模板 class Basic { int a; float b; public: void foo(T1 t1, T2 t2) { ...

回答 1 投票 0

为什么编译器说:'enable_if'不能用来禁用这个声明?

模板 使用 Enable_if = typename std::enable_if type; class Degree; template constexpr inline bool Is_Degree() { ...

回答 1 投票 6

C++ SFINAE的方法组和装饰器。

我有一个std::variants,包含有不同接口的对象。目标是调用一些方法,如果变体中的对象拥有它。我试图做几个模板装饰器,并寻找...。

回答 1 投票 0

检查类是否有可能重载的函数调用运算符

我想知道是否有可能在C ++ 20中实现一个特征来检查类型T是否具有可能重载/可能是模板化的函数调用operator:operator()。 // ...

回答 1 投票 0

基于类型特征的更改功能定义? [重复]

我想通过使用enable_if_t根据类型更改函数定义。与此类似的东西:#include template struct A;模板

回答 1 投票 0

将`template zero()`扩展/专业化为可调用的T'

我正在尝试定义函数模板 zero()并将其专门用于各种情况。 zero ()应该返回静态T :: zero()(如果存在)。否则static_cast (如果...

回答 1 投票 3

SFINAE:std :: enable_if作为函数参数

因此,我正在遵循此网页上某处代码所设置的示例:http://eli.thegreenplace.net/2014/sfinae-and-enable_if/这是我所拥有的:template void fun(const ...

回答 2 投票 8

要接收的T :: value_type的类型特征,否则为T

[必需是类型T的类型特征,如果T具有typedef value_type,则提供类型为T :: value_type的typedef类型,否则为T。我已经尝试了以下实现,但没有实现...

回答 1 投票 0

根据模板类型选择类模板的成员类型?

我有一个具有某些类型成员的类模板。此类型是根据实例化模板时提供的类型确定的。它使用默认值(在下面的示例中为两倍)...

回答 1 投票 1

带有功能模板重载的基于SFINAE的特征实现问题

我正在学习SFINAE和特质,我知道我可以定义SFINAE特质(在实现中使用SFINAE的特质)。特征的经典实现,可检测类型是否为...

回答 1 投票 0

使用C ++元组类型作为映射中的键

我正在尝试将不同类型的值的集合映射到连续的空间中。为了做到这一点(有效地),我需要知道所有元素的总大小和每个元素的偏移量。如果...

回答 2 投票 3

使用表达式-SFINAE的功能模板的类定义之外

我正在尝试实现一个简单的序列化程序类,该类具有一个Serialize函数,该函数将实际的序列化分派给不同的重载函数模板,这些模板在编译时使用...

回答 1 投票 2

为什么我们需要在C ++ 20的map emplace中使用piecewise_construct?

这是关于std :: map emplace函数潜在的重载的理论问题,该函数检测是否已传递2个元组,这不是C ++ 20中是否存在此功能的问题。从我...

回答 1 投票 0

嵌套std :: void_t,std :: enable_if和包扩展

我想拥有一个可变参数模板,仅当所有模板参数均为整数类型时才启用。我下面的解决方案嵌套了std :: void_t,std :: enable_if,std :: is_integral并打包...

回答 1 投票 1

如何检查这些结构是否具有称为“ Foo”的特定类型?

#include / ****我很困惑在这里使用sfinae方法****** / template struct hasTypeFoo {// .. static constexpr bool value = true; }; ///////////////// ...

回答 2 投票 0

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