[英]How to declare Magnitude type in C++?
假設我有一個模板 class 必須與通用類型 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
將為 function 提供類型 T 的正確參數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.