簡體   English   中英

如何在 C++ 中聲明幅度類型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM