typetraits 相关问题

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

转发模板自动

上下文(1)可以使用以下特征提取可调用的返回类型和参数类型:#include 模板 struct callable_trait {};模板

回答 1 投票 7

如何访问相同特征C ++的不同特征专业化?

我正面临这个让我疯狂的问题。我有一个模板化的结构,能够提供部分特化:模板 struct field {template

回答 1 投票 0

我们可以使用检测习惯来检查一个类是否具有特定签名的成员函数吗?

给定(减少)检测习语命名空间type_traits {template的实现 使用void_t = void;命名空间细节{模板

回答 3 投票 3

检查编译时类中是否有静态函数

我目前正在连接一个具有多个实现的应用程序,用于单个目的。在运行时检查是否可以使用适当的实现,或者是否使用了回退。为了那个原因 ...

回答 3 投票 1

可变参数模板 - 递归函数 - 最后一个可变参数成员

我有以下代码,其中包含从以下位置复制的可变参数模板:https://www.youtube.com/watch?v = iWvcoIKSaoc @ 41:30 auto sum(){return 0; }模板 自动求和(...

回答 3 投票 4

是否有可能在编译时测试类型是否支持C ++中的负零?

有没有办法写一个类型特征来确定一个类型是否支持C ++中的负零(包括整数表示,如符号和大小)?我没有看到任何直接做的事情......

回答 4 投票 8

“T类有成员X”:类模板已经定义

我正在寻找模板代码来回答问题“T类有成员X吗?”。网络上有一些采用SFINAE的解决方案(例如,请参阅如何检测是否存在...

回答 1 投票 0

C ++递归类型特征

我正在尝试实现一个模板类(此处名为Get <>),给定结构H,类型为Get 如果qualified-id H :: der不存在,则type为H本身,并且为Get

回答 2 投票 5

嵌套结构的专业化特征

我有一个带有嵌套模板结构的模板结构。模板 struct foo {template struct bar {static constexpr int f = F;静态constexpr ...

回答 2 投票 3

如果为false,std :: is_member_function_pointer不会编译

我正在寻找:我有一个模板化的类,如果类有所需的函数,想要调用一个函数,如:template do_something(){if constexpr(std :: ...

回答 1 投票 10

检测类型是否为std :: tuple?

目前我有两个功能:模板 bool f(Type * x);模板 bool f(std :: tuple * X);有没有办法合并这两个功能......

回答 5 投票 13

boost static_vector not std :: is_trivially_destructible

根据这个例子(左边的例子)#include #包括 struct X {int k;的std ::阵列 一个;促进::...

回答 2 投票 4

访问方法的返回类型

我很难搞定这件简单的事情。我发现有一件事是有效的:#include struct A {int Method(); }; static_assert(std :: is_same_v <...

回答 2 投票 1

std :: is_same不能通过constexpr auto变量的decltype工作

我试图static_assert一些元变换算法工作,并且令人难以置信的是没有比较相同,即使typeid()。name()返回完全相同的字符串。重复......

回答 1 投票 2

Tick Traits库,如何将Tick类声明为朋友

如何将tick类声明为另一个类的朋友。点击库这里https://github.com/pfultz2/Tick示例`TICK_TRAIT(My_Trait){template 自动要求(T && ...

回答 1 投票 0

使用模板和部分特化生成类型转换函数

我想使用模板在两组类型之间生成类型安全的转换。基本案例如下所示:模板 struct ATraits {};模板 结构...

回答 1 投票 0

如何检查给定类型的变量是否可以解除引用?

有没有办法在C ++中确定变量的类型是指针还是任何带有重载运算符*的迭代器?有标准的std :: is_pointer,但它没有提到迭代器。我想用它...

回答 2 投票 0

检查两种类型是否属于同一模板

我想检查两种类型是否属于同一模板。作为一个例子,我希望下面的代码片段返回true,因为尽管内部元素不同,但两个对象都是向量...

回答 3 投票 2

如何检测方法是否是虚拟的?

我试图找出一个特征来查找方法是否是虚拟的:(https://ideone.com/9pfaCZ)//几个结构应该失败,这取决于T :: f是否为虚拟。模板 struct Dvf:......

回答 2 投票 29

C ++不可复制的lambda是否可以复制?

为什么以下代码编译? #包括 #包括 int main(){std :: vector > uncopyableStuff; for(int i = 0; i <5; ++ i)...

回答 1 投票 10

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