2024-04-06 20:05:09
在 C++ 中,complex 类是标准库提供的用于处理复数的模板类,支持复数的基本运算和数学函数操作。以下是其核心用法详解:
1. 创建 complex 对象通过指定实部和虚部的类型(如 float、double)和值来创建对象:
#include <complex>using namespace std;complex<double> c1(3.5, 2.0); // 实部=3.5,虚部=2.0complex<float> c2(1.0f, -1.0f); // 使用 float 类型2. 访问实部和虚部使用 real() 和 imag() 成员函数获取或修改实部/虚部:
cout << "实部: " << c1.real() << endl; // 输出 3.5cout << "虚部: " << c1.imag() << endl; // 输出 2.0c1.real(4.0); // 修改实部为 4.0c1.imag(1.5); // 修改虚部为 1.53. 基本算术运算支持 +、-、*、/ 运算符,运算规则遵循复数数学定义:
complex<double> a(2.0, 3.0), b(1.0, -1.0);auto sum = a + b; // (3.0, 2.0)auto diff = a - b; // (1.0, 4.0)auto product = a * b; // (5.0, 1.0)auto quotient = a / b; // (-0.5, 2.5)4. 数学函数可直接对复数调用标准数学函数:
complex<double> z(1.0, 1.0);cout << "sin(z): " << sin(z) << endl; // 复数正弦cout << "cos(z): " << cos(z) << endl; // 复数余弦cout << "tan(z): " << tan(z) << endl; // 复数正切cout << "exp(z): " << exp(z) << endl; // 复数指数cout << "log(z): " << log(z) << endl; // 复数自然对数5. 其他常用方法通过 complex 类,C++ 提供了高效且直观的复数运算支持,适用于信号处理、物理模拟等场景。