如何识别模板参数是否为 std::complex?

2024-04-03

如何判断模板参数是否为std::complex?我想要一个支持所有数据类型(如 float、double、int 等)的通用方法。 我知道使用 std::is_same 我可以专门检查给定类型,例如,std::complex<float>。 但这里我需要一个通用的方法。


这可以使用部分模板专门化来完成。

首先定义一个默认为 false 的包罗万象的模板:

template<typename T>
struct is_complex_t : public std::false_type {};

然后,您为符合您的条件的类型提供重载:

template<typename T>
struct is_complex_t<std::complex<T>> : public std::true_type {};

我还想添加一个实用函数:

template<typename T>
constexpr bool is_complex() { return is_complex_t<T>::value; }

编辑:此实用程序函数在 c++14 及更高版本中不需要或无用,因为 std::integral 类型实现了operator()。

Usage:

bool int_is_complex = is_complex<int>(); //false
bool complex_is_complex = is_complex<std::complex<float>>(); //true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何识别模板参数是否为 std::complex? 的相关文章

  • strtok() 和空字段

    我正在将一些 C 结构序列化为字符串 然后将其反序列化strtok 但不幸的是 strtok 不检测空字段 例如 1 2 4 有没有替代功能 在linux上有strsep http www mkssoftware com docs man3
  • 以概率从列表中选择随机元素

    我有一个包含四个项目 A B C D 的列表 每个项目都有被选择的概率 例如 A 有 74 的机会被选中 B 15 C 7 D 4 我想创建一个函数 根据其概率随机选择一个项目 有什么帮助吗 为您的项目定义一个类 如下所示 class It
  • 用C#发送USSD?

    我想编写一个在 Windows Mobile 6 上运行的简单 C 应用程序 它可以发送 USSD 消息 有没有任何图书馆可以帮助我做到这一点 或者是否有任何示例解释如何使用线路发送USSD http msdn microsoft com
  • File.ReadAllLines 或流读取器

    我们可以使用以下方式读取文件StreamReader http msdn microsoft com en us library vstudio system io streamreader或通过使用File ReadAllLines ht
  • 如何获取 C# PriorityQueue 元素的优先级

    我正在初始化一个存储 XY 坐标的优先级队列 根据距原点的欧几里得距离确定优先级 我创建了一个自定义Comparer这使得它作为最大堆运行 PriorityQueue
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • 使用 MessagingCenter 和标准 .NET 事件处理程序向感兴趣的各方通知更改有什么区别?

    使用 MessagingCenter 和标准 NET 事件处理程序向感兴趣的各方通知更改有什么区别 下面演示了同一事物的两个 未经测试的 实现 public class FooClass public event EventHandler
  • C++ 为非虚方法指定初始化

    我有 a h 如下所示 class A public void doSomething 0 然后我有 b h 如下所示 include a h class b public A public void doSomething 我只是想通过尝
  • 使用 INF 文件 C++ 以编程方式安装驱动程序

    这里有人可以告诉我如何安装第 3 方设备驱动程序吗 如果提供了所有必需的文件 即 inf 文件 sys 等 则以编程方式进行 这 该解决方案应运行的最低操作系统是Windows2000 我尝试复制 inf文件放入Win文件夹 INF文件夹和
  • 如何设置cookie值?

    我正在执行以下操作来设置 cookie 值 HttpCookie mycookie new HttpCookie mycookie mycookie Value value1 Case sensitivity mycookie Expire
  • 尝试缓冲区溢出

    我正在尝试使用缓冲区溢出来更改函数的结果 以使用以下代码更改堆栈上的结果 include
  • 阻止用户取消选择列表框中的项目?

    我有一个列表框 里面有很多项目 用户可以单击某个项目来编辑其内容 如何防止用户取消选择所有项目 即 用户不应该无法选择任何内容 您的情况缺少一个案例 即清除列表后 您将选择列表中不再存在的项目 我通过添加额外的检查来解决这个问题 var l
  • C++20 views::join 在生成的嵌套范围::single_view 上进入无限循环

    我正在使用 GCC 实现 v10 2 和 v11 来处理 C 20 范围 测试的行为std views join https en cppreference com w cpp ranges join view 我尝试使用生成嵌套视图sin
  • 通过 MVC 将数据写入数据库的最佳方法是什么?

    我正在使用 MVC 和 EF Core 开发一个家庭作业项目 我正在寻找将数据写入数据库的最佳方法 我是初学者 有两张桌子 Predbilje ba 报名 和Seminari 研讨会 public class Predbilje ba Ke
  • Lambda 按值捕获和“mutable”关键字

    关键词的必要性mutable在 lambda 中 是造成极大混乱的根源 考虑代码 int x 10 function
  • int 类型的构造函数

    考虑到成本 这些情况是否相同 case 1 int a 5 case 2 int a 5 case 3 int a a 5 这三种语法是不同的 请耐心等待 我使用用户定义类型而不是 int 稍后我将回到 int T a 5 Direct i
  • 在运行时将项目添加到 ToolStrip

    您好 我有一个带有 收藏夹 菜单的 ToolStripMenu 我想在运行时在 WinForms 应用程序中添加子项目 我有一个 datagridview 右键单击它会显示一个包含 添加到收藏夹 选项的上下文菜单 当该事件被触发时 我想使用
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • 使用 /clr 或 clr:pure(cpprestsdk 又名 casablanca)编译时不支持互斥

    我创建一个CLR project in visual c with 64 bit配置 并尝试使用cpprestsdk aka casablanca 64bit 但是当我运行项目时 出现了错误 1 gt Build started Proje
  • 在 Visual Studio C++ 资源编辑器中导入 png 文件

    我希望能够在 Visual Studio 资源编辑器中导入 png 文件 以便能够在不同的其他项目中使用嵌入的资源 有解决办法吗 我知道它适用于位图 但我对 png 感兴趣 因为即使在较低格式 16x16 或 32x32 上也可以使用 透明

随机推荐

  • 获取当前订阅 ID

    使用Powershell Azure模块 有没有办法获取活动订阅ID 我可以使用设置订阅Set AzContext but Get AzContext返回没有特定名称的订阅名称ID column Get AzSubscription返回订阅
  • 如何在React ChartJS中获取填充圆图?

    我想介绍一个填充圆图 气泡图的变体 仅包含半径作为其尺寸 React Chartjs乃至Chartjs仅支持气泡图 不支持圆形图 这是我想要添加的预期图表的示例 我可以使用这样的东西吗react chartjs 例如 需要执行如下操作来定期
  • Java Clip(声音/音频)使用 close() 关闭后内存泄漏

    以下代码创建一个新的音频剪辑 播放它 休眠 3 秒 然后在播放完毕后关闭它 尽管调用了 close 但每次运行 while 循环时 我都会看到 jvm 的内存使用量随着声音剪辑的大小而增加 我正在参与一个用java编码的游戏 并且正在处理声
  • jQuery 修剪不会删除?

    如何修剪字符串中的所有空格 即使它们是由不间断空格引起的 nbsp 例如 var foo trim p nbsp foo nbsp p text foo 的值为 foo 代替 foo UPDATE所以 问题不在于 jQuery 的修剪功能
  • 在redis队列中调用django自定义管理命令

    是否可以将 django 管理命令作为 redis 中的排队作业调用 这对我来说失败了 from django core management import call command from rq import Queue queue Q
  • 如何编写一个程序,将整数序列读入数组并计算数组中所有元素的交替和?

    编写一个程序 将整数序列读入数组 并计算数组中所有元素的交替和 例如 如果程序使用输入数据执行 1 4 9 16 9 7 4 9 11 然后它计算 1 4 9 16 9 7 4 9 11 2 到目前为止我有以下代码 import java
  • C++ 构造函数的模板特化

    我有一个模板类 A 和两个 typedef A 和 A 如何重写 A 的构造函数 以下不起作用 template
  • 无法将 GridView 绑定到 LINQ to SQL 结果

    好吧 我确实是 LINQ 的新手 上周我已经阅读了有关 LINQ 的所有内容 我只是在玩玩 试图遵循我找到的一些示例 事实上 来自 Scott Gu 的关于该主题的 PDF 但我完全不知所措 有人可以告诉我为什么当我使用下面的代码将 Gri
  • 如何将 TestNG 测试输出文件夹配置在 Maven 目标文件夹内?

    Folks 我是 TestNG 的新手 我正在尝试使用 Maven Surefire 插件 和 Eclipse 当我的测试由 Maven 运行时 其报告会按预期放在 target surefire reports 上 但是当由 Eclips
  • 在 Android 上如何从位图获取 RGB 值?

    我想在 Android 上获取位图的 RGB 值 但目前还无法做到这一点 我的目标是获取位图每个像素的 RGB 值 Android 或其他有什么特定的功能吗 我也想知道我需要colorMatrix 功能 这对我的项目非常重要 这可能有点晚了
  • Xamarin.Forms;在屏幕上显示设备上我的 SIM 卡的电话号码

    我想在屏幕上显示我设备的电话号码 在 Xamarin Android 中 代码可以正常工作 但我想使用 Xamarin Forms 中的代码 我已经搜索过 但没有找到任何结果 Android Telephony TelephonyManag
  • 下划线作为 JavaScript 变量?

    In 这个帖子 https stackoverflow com questions 3504499 how to copy table row with clone in jquery and create new unique ids f
  • CMAKE_*_OUTPUT_DIRECTORY 的正确使用

    前言 我是only谈论本地编译 not关于安装项目 这是因为我还没有对适当的研究进行足够的研究install使用 CMake 但如果我的问题直接涉及到 请插话install实践 似乎有可能 TL DR 你在什么场景下not想要将所有正在构建
  • React 中未使用 ES6 fetch 定义 fetch 方法

    我在我的第一个 React js 应用程序中遇到了 fetch 函数的问题 这是我的项目的结构 hello world app components main jsx node modules public build js index h
  • 编写 HTML 电子邮件时的最佳实践和注意事项 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我开发网站已有十多年了 但很快发现我的许多网络开发习惯在为电子邮件客户端开发时毫无用处 这让我非常沮丧 所以我想问一个问题 对于像我这样不时为
  • React-Leaflet:将地图控制组件放置在地图之外?

    这是我的其他问题的更普遍的版本 从反应传单中的地图中删除缩放控制 https stackoverflow com questions 59432189 remove zoom control from map in react leafle
  • Python 3 和 Tkinter 有缺陷且缓慢

    因此 几个月前 我制作了一个小型 GUI 用于在我正在运行的角色扮演活动中处理 NPC 从那以后我就再也没有接触过 只是现在我需要它 明天 事实上 我有一些奇怪的错误 加载 GUI 似乎工作正常 但是当我开始按下按钮时 麻烦就开始了 起初
  • Git 合并并修复具有两个分支的混合空间和选项卡

    我已经经历了一些类似的 SOQ 但没有找到适合这种情况的适当解决方案 我注意到在许多文件中 用于缩进的制表符和空格混杂在一起 目前我们遵循的编码标准使用 4 个空格作为制表符 虽然这个问题应该在发生时就得到解决 但我现在需要考虑它 并希望修
  • 广播接收器在 Android 6.0 Marshmallow 中不工作

    我刚刚将我的 Nexus 5 更新到 android 6 到目前为止我的应用程序工作正常 但现在广播接收器无法工作 新版本有什么变化吗 这是我尝试过的代码 它适用于以前的版本 但不适用于棉花糖 安卓清单
  • 如何识别模板参数是否为 std::complex?

    如何判断模板参数是否为std complex 我想要一个支持所有数据类型 如 float double int 等 的通用方法 我知道使用 std is same 我可以专门检查给定类型 例如 std complex