名稱空間
變體
操作

std::tuple_element<std::complex>

來自 cppreference.com
< cpp‎ | 數值‎ | 複數
 
 
 
 
定義於標頭檔案 <complex>
template< std::size_t I, class T >
struct tuple_element<I, std::complex<T>>;
(C++26 起)

std::tuple_elementstd::complex 的部分特化,提供編譯時訪問 complex 的底層實數和虛數型別,使用類似元組的語法。它們是為了支援結構化繫結而提供的。如果 I >= 2,程式將是非良構的。

目錄

[編輯] 成員型別

成員型別 定義
型別 T

[編輯] 注意

特性測試 標準 特性
__cpp_lib_tuple_like 202311L (C++26) 將元組協議新增到std::complex

[編輯] 示例

#include <complex>
#include <type_traits>
 
static_assert([z = std::complex<float>()]
{
    using T = decltype(z);
    return
#if __cpp_lib_tuple_like >= 202311L
        std::is_same_v<std::tuple_element_t<0, T>, float> &&
        std::is_same_v<std::tuple_element_t<1, T>, float> &&
#endif
        std::is_same_v<T::value_type, float>;
}());
 
int main() {}

[編輯] 參閱

結構化繫結 (C++17) 將指定的名稱繫結到初始化器的子物件或元組元素[編輯]
獲取類元組型別的元素型別
(類模板) [編輯]
獲取 std::complex 的大小
(類模板特化) [編輯]
std::complex 獲取實部或虛部的引用
(函式模板) [編輯]