◐ Shell
clean mode source ↗

std::complex::operator+(binary), operator-(binary), operator*, operator/ — cppreference.com

Материал из cppreference.com

<metanoindex/>

<tbody> </tbody>

template< class T > complex<T> operator+( const complex<T>& lhs, const complex<T>& rhs);

(1)

template< class T > complex<T> operator+( const complex<T>& lhs, const T& rhs);

(2)

template< class T > complex<T> operator+( const T& lhs, const complex<T>& rhs);

(3)

template< class T > complex<T> operator-( const complex<T>& lhs, const complex<T>& rhs);

(4)

template< class T > complex<T> operator-( const complex<T>& lhs, const T& rhs);

(5)

template< class T > complex<T> operator-( const T& lhs, const complex<T>& rhs);

(6)

template< class T > complex<T> operator*( const complex<T>& lhs, const complex<T>& rhs);

(7)

template< class T > complex<T> operator*( const complex<T>& lhs, const T& rhs);

(8)

template< class T > complex<T> operator*( const T& lhs, const complex<T>& rhs);

(9)

template< class T > complex<T> operator/( const complex<T>& lhs, const complex<T>& rhs);

(10)

template< class T > complex<T> operator/( const complex<T>& lhs, const T& rhs);

(11)

template< class T > complex<T> operator/( const T& lhs, const complex<T>& rhs);

(12)

Реализует бинарные операторы для сложных арифметических и для смешанного комплекса / скалярная арифметика. Скалярные аргументы рассматриваются как комплексные числа с реальной части, равной аргументу и мнимая часть устанавливается в ноль.

Оригинал:

Implements the binary operators for complex arithmetic and for mixed complex/scalar arithmetic. Scalar arguments are treated as complex numbers with the real part equal to the argument and the imaginary part set to zero.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

1-3)

Возвращает сумму своих аргументов

Оригинал:

Returns the sum of its arguments

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

4-6)

Возвращает результат вычитания rhs от lhs

Оригинал:

Returns the result of subtracting rhs from lhs

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

7-9)

Умножает свои аргументы

Оригинал:

Multiplies its arguments

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

10-12)

Делит lhs по rhs

Оригинал:

Divides lhs by rhs

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

lhs, rhs

Аргументы: либо оба комплексных чисел или одно сложное и одного скалярного соответствия типа (float, double, long double)

Оригинал:

the arguments: either both complex numbers or one complex and one scalar of matching type (float, double, long double)

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возвращаемое значение

1-3) complex<T>(lhs) += rhs

4-6) complex<T>(lhs) -= rhs

7-9) complex<T>(lhs) *= rhs

10-12) complex<T>(lhs) /= rhs

Пример

#include <iostream>
#include <complex>
int main()
{
    std::complex<double> c2(2, 0);
    std::complex<double> ci(0, 1);

    std::cout << ci << " + " << c2 << " = " << ci+c2 << '\n'
              << ci << " * " << ci << " = " << ci*ci << '\n'
              << ci << " + " << c2 << " / " << ci << " = " << ci+c2/ci << '\n'
              << 1  << " / " << ci << " = " << 1./ci << '\n';

//    std::cout << 1.f/ci; // compile error
//    std::cout << 1/ci; // compile error
}

Вывод:

(0,1) + (2,0) = (2,1)
(0,1) * (0,1) = (-1,0)
(0,1) + (2,0) / (0,1) = (0,-1)
1 / (0,1) = (0,-1)

См. также