enable-if 相关问题

`std :: enable_if`是一个C ++元函数模板,参数`bool B`,`class T = void`,在标准C ++头文件`type_traits`中定义。如果`B`为真,则实例化类定义一个等于`T`的公共成员类型`type`;否则它没有。

使用enable_if在按值传递与按引用传递之间更改函数声明

我正在编写模板化的哈希图。因为如果模板类型是基本类型,我希望函数声明通过引用传递。例如,使用以下声明:template

回答 1 投票 0

在头文件中带有enable_if的模板的专业化

所以我想做2个功能:一个用于数字(带有模板),另一个用于字符串。这是我的最佳尝试:标头:class myIO {public:template

回答 2 投票 0

默认模板参数和部分专业化

我正在尝试了解具有默认参数的部分模板专业化。如果我将is_comparable专长中的强制转换删除,则打印的值始终为false,而如果我保留...

回答 1 投票 0

C ++ std :: enable_if fallback?

我正在设置可变参数模板函数,以便能够在特定系列的类上调用各种函数重载。到目前为止,当一个不受支持的类时,我已经能够“破坏”编译...

回答 4 投票 1

基于类模板参数值禁用成员函数

我希望有一个基于类的模板参数的值来禁用/启用成员函数的类。我有以下内容:枚举MyType {type1,type2};模板

回答 1 投票 0

通常将std :: hash专门用于std :: shared_ptr结构

我有一个基类。目标是使用从Base继承的所有类强制对std :: shared_ptr专用化std :: hash。我已经尝试过使用虚拟模板的以下方法...

回答 1 投票 0

C ++使用std :: enable_if创建最多10个参数的std :: tuple专业化

我想创建一个具有最多10个args专业化的元组,类似于std :: pair是两个args的专业化方式。即元组 将具有成员first(),second(),...

回答 1 投票 0

虚拟模板参数中的SFINAE和std :: enable_if以基于两个条件选择结构

让我们说,要用part 调用模板化的结构部件,其中D是U型的:template struct part {};我们有两种情况:U是无符号类型,D%(...

回答 1 投票 0

g ++和clang ++与enable_if的区别

我想编写一个函数,该函数返回类型T的实例,但其行为取决于如何构造T。说我有这样的结构#include ...

回答 2 投票 0

为什么使用SFINAE而不是函数重载?

我正在尝试了解std :: enable_if,cppreference.com上有一个示例,它比函数重载有什么好处?结构T {枚举{int_t,float_t} m_type; ...

回答 2 投票 0

c ++ enable_if-SFINAE

我试图理解enable_if,cppreference.com上有一个示例,这种使用比函数重载有什么好处?下面的代码部分正在做同样的事情。结构T {枚举{...

回答 2 投票 0

enable_if在转换构造函数上(静态转换,is_base_of)

我正在研究共享指针的实现。 (如果需要的话,使用C ++ 17)唯一的问题是转换构造函数。我希望能够将smart_ptr静态转换为...

回答 1 投票 0

c ++将数字转换为填充字符串

我正在尝试将数字类型转换为以前导0表示的定长字符串表示形式(在只能处理字符串的GUI中使用-而且字典的数字排序确实很尴尬)。 ...

回答 1 投票 2

我如何使用std :: enable_if元函数实现类模板函数?

我在类模板中使用了std :: enable_if元函数来指定只允许为以GameCard为基类的变量生成类。这可以正常工作...

回答 2 投票 0

检查类型是否直接从“如果……启用时”上下文中的另一类型派生(是其子代)

C ++具有is_base_of 。但是,这也包括“祖父母”类型。有没有办法获得is_child_of 功能?目的是将类型用作...

回答 1 投票 4

std :: enable_if用于cpp中定义的模板方法

我在一个模板化类上工作,其方法定义在cpp文件中。现在,我想添加另一个仅对某些类模板参数启用的方法。我目前的做法:....

回答 1 投票 0

“功能模板已经定义”,使用“ std :: enable_if_t” [重复]

我正在尝试使用std :: enable_if_t根据传递给它的类型的特征来切换模板函数的实现。这是一个示例:#include #include

回答 1 投票 0

两种模板示例的区别是什么?

我打算让类'MyVector'具有3D坐标(X,Y,Z)。我尝试使构造函数具有三种类型的函数参数,每种参数类型都满足std :: is_arithmetic。我做了...

回答 1 投票 1

enable_if中参数包的sizeof…问题

以下示例在所有主要编译器中均失败:clang,gcc和Visual Studio。我想知道这是怎么回事,这似乎很简单:如果sizeof ...(TYPES)== 2,那么它应该...

回答 2 投票 0

如何使用cpp中的std :: enable_if从模板处理此类问题

我正在尝试创建将任何元素或元素序列写入输出流的函数。我使用std :: enable_if使用模板来完成。函数有2个版本:第一个用于处理...

回答 1 投票 1

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