C++ 中的復(fù)數(shù)類(std::complex
)和標(biāo)準(zhǔn)庫(<complex>
)之間的主要區(qū)別在于它們的用途和實現(xiàn)方式
std::complex
是一個模板類,用于表示復(fù)數(shù)。它可以存儲任何類型的實部和虛部,例如 float
、double
或 long double
。你可以使用這個類來進(jìn)行復(fù)數(shù)的算術(shù)運算,例如加法、減法、乘法和除法。此外,std::complex
還提供了一些其他的復(fù)數(shù)操作,例如共軛、模長和輻角。#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++ 標(biāo)準(zhǔn)庫中的一個頭文件,它包含了 std::complex
類的定義以及一些相關(guān)的函數(shù)和操作符。這個頭文件還提供了一些預(yù)定義的復(fù)數(shù)常量,例如 std::complex<double>::i
,以及一些用于復(fù)數(shù)的數(shù)學(xué)函數(shù),例如 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;
}
總結(jié):std::complex
是一個表示復(fù)數(shù)的類,而 <complex>
是一個包含該類定義和相關(guān)函數(shù)的頭文件。在使用復(fù)數(shù)時,你需要包含 <complex>
頭文件,并使用 std::complex
類來創(chuàng)建和操作復(fù)數(shù)。