类型特征是语法扩展,允许开发人员在编译时确定类型的各种特征。 C ++支持由编译器支持和一组库模板的组合提供。通过标题<type_traits>提供对类型特征的访问
特质类,从back_insert_iterator中提取容器的value_type
std :: back_insert_iterator的value_type等于void,但它也有一个受保护的成员容器,该容器包含指向基础Container的指针。我正在尝试向...
C ++ 20 std :: common_reference的目的是什么?
C ++ 20引入了std :: common_reference。目的是什么?有人可以举一个使用它的例子吗?
[如何使用C ++ 17中的type_traits检测具有特定名称和签名的函数(非类成员)的存在
尝试完成以下操作://不需要模板,但显示模式模板 bool MyFunction(const T&,const uint8_t);模板 结构...
给出一个定义为T x的变量;其中T是通用算术类型(即std :: is_arithmetic :: value),是否有一个简单表达式(例如std :: numeric_limits中的某些内容)...
考虑以下类型特征:template struct has_begin:std :: false_type {}; template struct has_begin ] >>>
以下代码将无法在大多数编译器上编译:#include 类Foo {公共:Foo()noexcept {}〜Foo()noexcept(false){}}; static_assert(std :: ...
假设类具有一个成员函数,该成员函数应接受double(double)函数或带有“ MyStructFunc”公共成员函数作为参数的类实例:#include
是否有is_empty_but_has_virtual_functions之类的东西?
我想制作一个“接口” /混合类(模板),并确保没有人认为将成员添加到此类模板是一个好主意,我想在这种情况下对static_assert进行操作。 ...
std :: is_convertible_v 什么时候为假?
当我遇到此裁定时,我正在阅读std :: pair的构造函数规则(如cppreference所述:该构造函数是显式的,当且仅当std :: is_convertible_v
C ++ std :: variant-类型特征以验证所包含的变量类型是否满足某些假设
假设我有一些具有共同父代的类型集:struct some_tag;结构A:some_tag;结构B:some_tag;结构C:some_tag;结构D:some_tag;可以单独测试...
我一直在阅读有关删除类型引用的信息。它给出以下示例:#include // std :: cout #include // std :: is_same模板
例如,仅当std :: is_pointer 和std :: is_const 计算为true_type时,我才想使用类型T。当然,有一个简单的方法是这样的:template void f(T ...
我一直在阅读有关删除该类型的引用的信息,在这里我在链接中包含以下代码#include // std :: cout #include // std :: is_same模板
Cpp reference.com在以下情况下未使用类型名,为什么?
我一直在阅读有关删除该类型的引用的信息,在这里我在链接中包含以下代码#include // std :: cout #include // std :: is_same模板
大多数类型特征是使用结构和模板的部分(或完整)专门化来制作的。例如,std :: is_same被实现为template struct is_same:false_type {};模板
我想调用一个函数模板类似下面的#include #包括 #包括 使用命名空间std;结构尺寸1 {尺寸1(){性病::法院<<” ......
如何检查一个类是否有一个模板调用运营商不知道它的返回类型? [重复]
我有一个模板函数模板 汽车FOO(F F){...}在这个函数中,我要排序,调用F:我要打电话F.template运营商() (), 没有 ...
为什么在使用GCC 7,libstdc ++和-fgnu-tm进行编译时,std :: is_function无法识别transaction_safe函数?
由于libstdc ++缺陷导致编译失败,或者此行为是否与Transactional Memory TS(n4514)兼容? #包括 static_assert(STD :: is_function_v
为什么使用`declval定义`is_destructible` ()。~U()`而不是`declval ()〜U()`?
根据is_destructible(http://eel.is/c++draft/meta.unary.prop#lib:is_destructible)的定义,is_destructible_v 在以下情况下是真的:要么T是引用类型,要么T是完整对象......
我不熟悉cpp中的模板魔法。在阅读了这个链接中的“TemplateRex”之后,我对std :: is_intergral的工作原理感到困惑。 template <class T> struct is_integral {...