C++ 中的复数类(std::complex
)和标准库(<complex>
)之间的主要区别在于它们的用途和实现方式
std::complex
是一个模板类,用于表示复数。它可以存储任何类型的实部和虚部,例如 float
、double
或 long double
。你可以使用这个类来进行复数的算术运算,例如加法、减法、乘法和除法。此外,std::complex
还提供了一些其他的复数操作,例如共轭、模长和辐角。#include <iostream>
#include <complex>
int main() {
std::complex<double> c1(3, 4);
std::complex<double> c2(1, 2);
std::complex<double> sum = c1 + c2;
std::cout << "Sum: " << sum << std::endl;
return 0;
}
<complex>
是 C++ 标准库中的一个头文件,它包含了 std::complex
类的定义以及一些相关的函数和操作符。这个头文件还提供了一些预定义的复数常量,例如 std::complex<double>::i
,以及一些用于复数的数学函数,例如 std::abs
、std::arg
、std::norm
等。#include <iostream>
#include <complex>
int main() {
std::complex<double> c1(3, 4);
std::cout << "Absolute value: " << std::abs(c1) << std::endl;
std::cout << "Argument: " << std::arg(c1) << std::endl;
std::cout << "Norm: " << std::norm(c1) << std::endl;
return 0;
}
总结:std::complex
是一个表示复数的类,而 <complex>
是一个包含该类定义和相关函数的头文件。在使用复数时,你需要包含 <complex>
头文件,并使用 std::complex
类来创建和操作复数。