📜  C++中的real()函数(1)

📅  最后修改于: 2023-12-03 14:59:50.602000             🧑  作者: Mango

C++中的real()函数介绍

在C++中,real()函数用于获取复数类型中实部的值。它可以用于复数类型的标准库类std::complexstd::valarray

1. std::complexreal()

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
2. std::valarrayreal()

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
3. 注意事项和限制
  • real()函数仅适用于复数类型,如果传入参数不是复数类型,编译器将会报错;
  • real()函数返回值类型与参数类型相同,即如果参数为std::complex<T>,返回值类型为T,如果参数为std::valarray<std::complex<T>>,返回值类型为std::valarray<T>

以上就是C++real()函数的介绍,当你需要获取复数类型中实部的值时,可以使用该函数来完成。