std:: get (std::complex)
From cppreference.net
|
Определено в заголовке
<complex>
|
||
|
template
<
std::
size_t
I
>
friend constexpr T & get ( std:: complex < T > & x ) ; |
(1) | (начиная с C++26) |
|
template
<
std::
size_t
I
>
friend constexpr const T & get ( const std:: complex < T > & x ) ; |
(2) | (начиная с C++26) |
|
template
<
std::
size_t
I
>
friend constexpr T && get ( std:: complex < T > && x ) ; |
(3) | (начиная с C++26) |
|
template
<
std::
size_t
I
>
friend constexpr const T && get ( const std:: complex < T > && x ) ; |
(4) | (начиная с C++26) |
Возвращает ссылку на действительную или мнимую часть
complex
, когда
I
==
0
или
I
==
1
соответственно. В основном предоставляется для поддержки структурированных привязок.
Содержание |
Параметры
| x | - |
a
complex
|
Возвращаемое значение
1-4)
Ссылка на действительную или мнимую часть из сохраненной, когда
I
==
0
или
I
==
1
соответственно.
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_tuple_like
|
202311L
|
(C++26) | Добавление кортежного протокола к std::complex |
Пример
Запустить этот код
#include <complex> static_assert([z = std::complex(1.0, 2.0)] { #if __cpp_lib_tuple_like >= 202311L return std::get<0>(z) == 1.0 and std::get<1>(z) == 2.0; #else return z.real() == 1.0 and z.imag() == 2.0; #endif }()); int main() {}
Смотрите также
| Structured binding (C++17) | связывает указанные имена с подобъектами или элементами кортежа инициализатора |
|
(C++11)
|
обращается к указанному элементу кортежа
(шаблон функции) |
|
(C++11)
|
обращается к элементу
pair
(шаблон функции) |
|
(C++11)
|
обращается к элементу
array
(шаблон функции) |