One of the best usage of function pointers is in setting up the environment .For e.g. when you boot kernel you know that a certain memory location a certain function is present is present . You can call that function directlt knowing what parameters you have to pass.
Nice video. The use of function pointers, although relatively simple to start, can quickly get pretty complicated even to the point of obfuscation. Your examples are pretty clear and straightforward. Nice job!
This is the best explanation about the function pointer sir..it's so helpful for my practice..am so thankful to you for sharing ur knowledg. Plz update more vedios in C-language
Amazing content! Just wanted to say that you can also use std::function as a generic function pointer now. Additionally, If you are required to use this on an object's member function you can wrap it with std::mem_fn.
got your point. i knew qsort use this. but this is not a dynamic binding. i haven't come across a situation where dynamic binding of function pointers is needed.
This is actually a dynamic binding, when you pass some pointer to some function in this case we are passing function pointer then you can pass any other function pointer at run time, depending on the situations. Example: if(some condition true) qsort(begin, end, fun1); else qsort(begin, end, fun2);
Really this video is very helpful ,thanks for uploading such type of nice video I have one request please upload one video on pointer to member function in c++ same as !
Google it, how to read function pointer, because there is very good article. And i can't explain here. OR you can start here: stackoverflow.com/questions/2754586/reading-function-pointer-syntax
+glenn mark abalos It is because void pointer is generic pointer, so for now we were passing integer but there could be situation where you will sort array of objects and in that case we will have to compare two objects on the basis of some parameter you will say that one object is small than the other one. So as you can see that we don't know what we will sort so that's reason we are sending everything in void pointer, because that is generic pointer and can accept anything. And we are using const because we don't want to modify the data in compare function. And if you're confused with how parameters are passed to compare function then it is the job of qsort function that's why we are passing our own function to qsort as parameter.
Does the compiler no create pointers to all functions as normal operation? I understand this is the basic operation of a function call, the function is stored in global/static-data part of the binary and are then called to the working memory by pointer to that address. Making the function name into a pointer name seams very redundant. Because of this I do not understand why a function pointer would be used.
One of the best usage of function pointers is in setting up the environment .For e.g. when you boot kernel you know that a certain memory location a certain function is present is present
. You can call that function directlt knowing what parameters you have to pass.
This is the best video for function pointer which covers almost everything about the topic function point thanks for uploading such videos.
+Yadav Ji waao thanks for such a nice comment, i try my best.
It would have taken a lot time for me to understand these concepts. But you have explained it so nicely. Many Many thanks to you Rupesh.
You are most welcome!!
Nice video. The use of function pointers, although relatively simple to start, can quickly get pretty complicated even to the point of obfuscation. Your examples are pretty clear and straightforward. Nice job!
+Tom B Thanks man.
I have just became fan of your series...keeping sharing your knowledge with us
+monika sharma, Thanks a lot for such a nice comment.
thank you so much for function pointer. i browsed so many sites but i found this channel is very helpful and clear my doubts.
Thanks man..
Real Master of Programming
This is the best explanation about the function pointer sir..it's so helpful for my practice..am so thankful to you for sharing ur knowledg. Plz update more vedios in C-language
thanks a lot man....you make us understand the exact concepts without any stories....thanks again
Welcome dude..
Amazing content! Just wanted to say that you can also use std::function as a generic function pointer now. Additionally, If you are required to use this on an object's member function you can wrap it with std::mem_fn.
all are excellent questions and the answers are also clear and simple.
Thanks for your comment dude!!
Good conversational explanation style
Thanks
i think the last parameter for qsort() function is a comparator function, which usually has return a type of bool.
got your point. i knew qsort use this. but this is not a dynamic binding. i haven't come across a situation where dynamic binding of function pointers is needed.
This is actually a dynamic binding, when you pass some pointer to some function in this case we are passing function pointer then you can pass any other function pointer at run time, depending on the situations.
Example:
if(some condition true)
qsort(begin, end, fun1);
else
qsort(begin, end, fun2);
Damn. Indian UA-camr’s tutorial is the best
Thanks man..
Thank you! This video was very informative
Thank you roopesh!!
Welcome dude..
Really this video is very helpful ,thanks for uploading such type of nice video I have one request please upload one video on pointer to member function in c++ same as !
Thanks, it was very helpful.
Glad it helped!
8:57 Please explain how to read the variable fun
Google it, how to read function pointer, because there is very good article. And i can't explain here.
OR you can start here: stackoverflow.com/questions/2754586/reading-function-pointer-syntax
fun is a function(int,int) returning pointer to function(int,int) returning int
Thanks a lot sir...
Thanks man!!
could you please explain how compare function works with Array in qsort?
i have a question.. why does the compare function accept 2 const void *p.. what is this? and what were passed?
+glenn mark abalos It is because void pointer is generic pointer, so for now we were passing integer but there could be situation where you will sort array of objects and in that case we will have to compare two objects on the basis of some parameter you will say that one object is small than the other one.
So as you can see that we don't know what we will sort so that's reason we are sending everything in void pointer, because that is generic pointer and can accept anything. And we are using const because we don't want to modify the data in compare function.
And if you're confused with how parameters are passed to compare function then it is the job of qsort function that's why we are passing our own function to qsort as parameter.
i see.. it's my first time seeing that concept.. thanks.. nice answer..
+glenn mark abalos welcome dude.
another thing.. can you make a tutorial on how a function can return a two-dimensional array..
glenn mark abalos, sure..
the qsort's last argument is a function.. how can a function have a function as an argument? can you make a tutorial about that?
Hi i have covered that topic in same video here: 6:33
Does the compiler no create pointers to all functions as normal operation? I understand this is the basic operation of a function call, the function is stored in global/static-data part of the binary and are then called to the working memory by pointer to that address. Making the function name into a pointer name seams very redundant. Because of this I do not understand why a function pointer would be used.
great vid! Use this knowledge and applying at work.
Hello sir ...I want c program tutorials sir ..can u help me
What video.
@@CppNuts all pointer concepts based on real time
are you codebasics . your voice 98% matches with his voice
No i am not CodeBasics. 😊
just like callback functions in JavaScript
Correct
func(2)[0](3,6) will be exist
Nice Videos brother😊 one suggestion , please change your IDE background to white colour & font to black colour.
null pointer ??????????
??
@@CppNuts : please give a class about null pointer
okay?
Yaa 😀 habit..