double() function in c++ or not? -
i hava following c++ code
#include <cstdlib> #include <iostream> #include <fstream> #include <time.h> #include <math.h> using namespace std; #define pi 3.1415926 int n; double* a,*b; double function(double); double a(int j) { double s=0; int ii; (int i=-n;i<n+1;i++) { s=s+function(2*pi*double(i)/(2*n+1))*cos(2*pi*double(j)*double(i)/(2*n+1)); } if (j==0) return 1/double(2*n+1)*s; return 2/double(2*n+1)*s; }
and there isn't declared function double()
, , looked function in math.h library , haven't found such. can explain it, lambda expression or delegate ?
double(...)
thought of way of saying (double)(...)
. recall when have class constructor takes parameters can write
myclass(params)
and produce instance of myclass
. c++ standard expanded same syntax primitive types well. syntax shorter cast, because not require parentheses around double
†.
note: in program above explicit double(i)
unnecessary, because pi
double
, , multiplying int
double
produces double
.
† may not work primitive types names take multiple parts. example, unsigned int(12.4)
will not compile under gcc.
Comments
Post a Comment