typetraits 相关问题

类型特征是语法扩展,允许开发人员在编译时确定类型的各种特征。 C ++支持由编译器支持和一组库模板的组合提供。通过标题<type_traits>提供对类型特征的访问

特质类,从back_insert_iterator中提取容器的value_type

std :: back_insert_iterator的value_type等于void,但它也有一个受保护的成员容器,该容器包含指向基础Container的指针。我正在尝试向...

回答 2 投票 6

C ++ 20 std :: common_reference的目的是什么?

C ++ 20引入了std :: common_reference。目的是什么?有人可以举一个使用它的例子吗?

回答 1 投票 16

[如何使用C ++ 17中的type_traits检测具有特定名称和签名的函数(非类成员)的存在

尝试完成以下操作://不需要模板,但显示模式模板 bool MyFunction(const T&,const uint8_t);模板 结构...

回答 1 投票 0

高于给定值的最小可表达值

给出一个定义为T x的变量;其中T是通用算术类型(即std :: is_arithmetic :: value),是否有一个简单表达式(例如std :: numeric_limits中的某些内容)...

回答 3 投票 4

std :: begin-类型特征中不考虑用户定义的重载

考虑以下类型特征:template struct has_begin:std :: false_type {}; template struct has_begin ] >>>

回答 2 投票 4

如何检测构造函数是否为带有抛出析构函数的异常

以下代码将无法在大多数编译器上编译:#include 类Foo {公共:Foo()noexcept {}〜Foo()noexcept(false){}}; static_assert(std :: ...

回答 1 投票 3

C ++模板-基于参数编译成员函数

假设类具有一个成员函数,该成员函数应接受double(double)函数或带有“ MyStructFunc”公共成员函数作为参数的类实例:#include

回答 1 投票 0

是否有is_empty_but_has_virtual_functions之类的东西?

我想制作一个“接口” /混合类(模板),并确保没有人认为将成员添加到此类模板是一个好主意,我想在这种情况下对static_assert进行操作。 ...

回答 1 投票 3

std :: is_convertible_v 什么时候为假?

当我遇到此裁定时,我正在阅读std :: pair的构造函数规则(如cppreference所述:该构造函数是显式的,当且仅当std :: is_convertible_v

回答 1 投票 4

C ++ std :: variant-类型特征以验证所包含的变量类型是否满足某些假设

假设我有一些具有共同父代的类型集:struct some_tag;结构A:some_tag;结构B:some_tag;结构C:some_tag;结构D:some_tag;可以单独测试...

回答 1 投票 0

为什么在以下情况下不需要对依赖类型使用typename?

我一直在阅读有关删除类型引用的信息。它给出以下示例:#include // std :: cout #include // std :: is_same模板

回答 3 投票 9

如何以标准方式组合来自type_traits的条件

例如,仅当std :: is_pointer 和std :: is_const 计算为true_type时,我才想使用类型T。当然,有一个简单的方法是这样的:template void f(T ...

回答 2 投票 11

为什么在以下情况下不需要对依赖类型使用typename?

我一直在阅读有关删除该类型的引用的信息,在这里我在链接中包含以下代码#include // std :: cout #include // std :: is_same模板

回答 3 投票 5

Cpp reference.com在以下情况下未使用类型名,为什么?

我一直在阅读有关删除该类型的引用的信息,在这里我在链接中包含以下代码#include // std :: cout #include // std :: is_same模板

回答 2 投票 5

为什么使用结构实现type_traits

大多数类型特征是使用结构和模板的部分(或完整)专门化来制作的。例如,std :: is_same被实现为template struct is_same:false_type {};模板

回答 3 投票 0

使用std不能扣除模板参数类型::条件

我想调用一个函数模板类似下面的#include #包括 #包括 使用命名空间std;结构尺寸1 {尺寸1(){性病::法院<<” ......

回答 1 投票 1

如何检查一个类是否有一个模板调用运营商不知道它的返回类型? [重复]

我有一个模板函数模板 汽车FOO(F F){...}在这个函数中,我要排序,调用F:我要打电话F.template运营商() (), 没有 ...

回答 1 投票 -1

为什么在使用GCC 7,libstdc ++和-fgnu-tm进行编译时,std :: is_function无法识别transaction_safe函数?

由于libstdc ++缺陷导致编译失败,或者此行为是否与Transactional Memory TS(n4514)兼容? #包括 static_assert(STD :: is_function_v

回答 1 投票 5

为什么使用`declval定义`is_destructible` ()。~U()`而不是`declval ()〜U()`?

根据is_destructible(http://eel.is/c++draft/meta.unary.prop#lib:is_destructible)的定义,is_destructible_v 在以下情况下是真的:要么T是引用类型,要么T是完整对象......

回答 1 投票 17

如何实现std :: is_integral?

我不熟悉cpp中的模板魔法。在阅读了这个链接中的“TemplateRex”之后,我对std :: is_intergral的工作原理感到困惑。 template <class T> struct is_integral {...

回答 1 投票 8

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