Hi this is my first technical post , really i find this topic very interesting and i like it .
actually I worked now on good project which utilize my Genetic algorithms , neural networks and parallel computing knowledge . when searching i hit in this topic .
pointers to function :
who should read this article are computer science students and programing Students
introduction :
you can write good code without knowing any thing about pointers , but if you used pointers you will write all your codes with pointers , it is best invention after electricity , it will attract you , and you will feel the infinite happiness .
what is pointer ?
you know int , float , double you can think on this data type as box which contain some value . but pointers is different it stores the reference of this value -memory address - then you can access the value in this pointer by dereference it .
declare pointer int *ptr;
dereference pointer *ptr ; but take care you have to assign value to the pointer before dereference it to avoid memory explosion .
pointers are amazing in passing arrays to functions .
are amazing two to create dynamic arrays , it can be deleted and free its memory .
about today topic :
Arrays can used to pass function as an argument for another function .
problem statement :
in math you can apply this equation using the two functions f &g f(g(x)) or more complex than this one .
the problem appear if we need to do some operation on the same data items and test results , e.g select the best function it is famous on neural networks , classifier and genetic programing .
for example :
write a C++ or C function which take a function as argument and 2 data items x and y . the argument function either addition or subtraction .
solution :
1-#include
2-using namespace std;
3-int addition (int a, int b)
4-{ return (a+b); }
5-int subtraction (int a, int b)
6-{ return (a-b); }
7-int operation (int x, int y, int (*functocall)(int,int))
8-{
9- int g;
10- g = (*functocall)(x,y);
11- return (g);
12-}
13-int main ()
14-{
15- int m,n;
16- int (*minus)(int,int) = subtraction;
17- m = operation (7, 5, addition);
18- n = operation (20, m, minus);
19- cout <
20- return 0;
21- }
in the line no.7 the third parameter for the function operation
int (*functocall)(int,int)
int -> is the return type of the function .
*functocall->pointer to function .
(int,int)-> the arguments of the function both type int .
in the line no.17 and line no. 18 we call the function and put the name of the two functions addition and minus respectively
by the end of this article i hope you learn new thing .
yours,
Ahmed Ghazey
reference : http://www.cplusplus.com/doc/tutorial/pointers/
actually I worked now on good project which utilize my Genetic algorithms , neural networks and parallel computing knowledge . when searching i hit in this topic .
pointers to function :
who should read this article are computer science students and programing Students
introduction :
you can write good code without knowing any thing about pointers , but if you used pointers you will write all your codes with pointers , it is best invention after electricity , it will attract you , and you will feel the infinite happiness .
what is pointer ?
you know int , float , double you can think on this data type as box which contain some value . but pointers is different it stores the reference of this value -memory address - then you can access the value in this pointer by dereference it .
declare pointer int *ptr;
dereference pointer *ptr ; but take care you have to assign value to the pointer before dereference it to avoid memory explosion .
pointers are amazing in passing arrays to functions .
are amazing two to create dynamic arrays , it can be deleted and free its memory .
about today topic :
Arrays can used to pass function as an argument for another function .
problem statement :
in math you can apply this equation using the two functions f &g f(g(x)) or more complex than this one .
the problem appear if we need to do some operation on the same data items and test results , e.g select the best function it is famous on neural networks , classifier and genetic programing .
for example :
write a C++ or C function which take a function as argument and 2 data items x and y . the argument function either addition or subtraction .
solution :
1-#include
2-using namespace std;
3-int addition (int a, int b)
4-{ return (a+b); }
5-int subtraction (int a, int b)
6-{ return (a-b); }
7-int operation (int x, int y, int (*functocall)(int,int))
8-{
9- int g;
10- g = (*functocall)(x,y);
11- return (g);
12-}
13-int main ()
14-{
15- int m,n;
16- int (*minus)(int,int) = subtraction;
17- m = operation (7, 5, addition);
18- n = operation (20, m, minus);
19- cout <
20- return 0;
21- }
in the line no.7 the third parameter for the function operation
int (*functocall)(int,int)
int -> is the return type of the function .
*functocall->pointer to function .
(int,int)-> the arguments of the function both type int .
in the line no.17 and line no. 18 we call the function and put the name of the two functions addition and minus respectively
by the end of this article i hope you learn new thing .
yours,
Ahmed Ghazey
reference : http://www.cplusplus.com/doc/tutorial/pointers/
Comments
Post a Comment