C++ 中的 complex 类模板用于表示复数,包含实部和虚部两个参数,可通过方法 real() 和 imag() 获取。complex 类支持加、减、乘、除运算,并提供 norm() 和 arg() 方法获取模和辐角。示例中,实例化两个 complex 对象 z1 和 z2,并展示了算术运算和获取实虚部的用法。

C++ 中的 complex
complex 是 C++ 标准库中用于表示复数的一个类模板。
结构
complex 类模板包含两个模板参数:
立即学习“C++免费学习笔记(深入)”;
- T:复数的实部和虚部类型。通常为 double 或 float。
- Alloc:一个可选的分配器类型,用于管理复数的内存分配。
使用
要使用 complex,需要先实例化类模板:
<code class="cpp">complex<double> z1(3.0, 4.0);</code>
实例化后,即可使用 complex 对象进行算术运算:
- 加法和减法:
z1 + z2、z1 - z2 - 乘法和除法:
z1 * z2、z1 / z2 - 比较:
z1 == z2、z1 != z2、z1 < z2等
方法
complex 类提供了一些方法来获取和操作复数:
-
real():获取复数的实部。 -
imag():获取复数的虚部。 -
norm():获取复数的模。 -
arg():获取复数的辐角。
示例
以下示例演示了如何使用 complex 类:
<code class="cpp">#include <complex>
int main() {
complex<double> z1(3.0, 4.0);
complex<double> z2(5.0, -2.0);
// 加法和减法
cout << "z1 + z2 = " << z1 + z2 << endl;
cout << "z1 - z2 = " << z1 - z2 << endl;
// 乘法和除法
cout << "z1 * z2 = " << z1 * z2 << endl;
cout << "z1 / z2 = " << z1 / z2 << endl;
// 获取实部和虚部
cout << "Real part of z1: " << z1.real() << endl;
cout << "Imaginary part of z1: " << z1.imag() << endl;
return 0;
}</code>输出结果:
<code>z1 + z2 = (8,-2) z1 - z2 = (-2,6) z1 * z2 = (23,-26) z1 / z2 = (0.64,0.16) Real part of z1: 3 Imaginary part of z1: 4</code>










