c++ - 如何在 C++ 中声明 Magnitude 类型?
问题描述
假设我有一个模板类,它必须与通用类型 T complex 和 real 一起工作,但我还需要一个可以存储 abs(T) 的真实类型。如何获得适当的类型并进行类型定义?
我尝试了以下方法:
template < typename T>
class sth{
typedef std::invoke_result<*std::abs, Value>::type real_type;
real_type sth_else(T x)
return std::abs(f(x));
}
解决方案
如果您需要通过表达式的结果来定义,那么它将类似于
using real_type = decltype (std::abs(std::declval<T>()));
declval
将提供 T 类型的适当参数来运行
推荐阅读
- laravel - Laravel插入数据库,里面有循环
- r - 如何使用 dplyr 在 3 天的时间间隔内找到中位数?
- javascript - 如何验证文本框中的 Javascript 注入
- r - R:获取每个条目在 data.table 中的先前条目
- angular - Angular - 显示来自 TMDB api 的字段
- javascript - 点 ?正则表达式字符串中的字符文字
- android - 如何在 Android Q 上隐藏状态栏?
- python - 使用 O365 库获取未读 Outlook 邮件
- azure - Azure 表存储:为现有表填充新列的脚本
- java - 如何将输出流复制到输入流?