📅  最后修改于: 2023-12-03 14:59:50.602000             🧑  作者: Mango
real()
函数介绍在C++中,real()
函数用于获取复数类型中实部的值。它可以用于复数类型的标准库类std::complex
和std::valarray
。
std::complex
的real()
在std::complex
中,real()
函数返回复数的实部值,其函数原型如下:
template< class T >
T real( const complex<T>& z );
其中参数z
是一个复数类型的对象。
下面是一个使用real()
函数获取std::complex
类型中实部的例子:
#include <iostream>
#include <complex>
int main()
{
std::complex<float> c1(1.2f, 2.4f);
float real_part = std::real(c1);
std::cout << "Real part of c1 is: " << real_part << std::endl;
return 0;
}
输出:
Real part of c1 is: 1.2
std::valarray
的real()
在std::valarray
中,real()
函数返回一个包含每个元素实部的新std::valarray
对象。
下面是一个使用real()
函数获取std::valarray
类型中实部的例子:
#include <iostream>
#include <valarray>
int main()
{
std::valarray<std::complex<float>> arr{
{1.2f, 2.4f},
{3.6f, 4.8f},
{5.10f, 6.12f}
};
std::valarray<float> real_arr = std::real(arr);
for(float x : real_arr){
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
输出:
1.2 3.6 5.1
real()
函数仅适用于复数类型,如果传入参数不是复数类型,编译器将会报错;real()
函数返回值类型与参数类型相同,即如果参数为std::complex<T>
,返回值类型为T
,如果参数为std::valarray<std::complex<T>>
,返回值类型为std::valarray<T>
。以上就是C++
中real()
函数的介绍,当你需要获取复数类型中实部的值时,可以使用该函数来完成。