The following code is extracted from the accepted answer in C++ std::priority_queue uses the lambda expression
#include <vector>
#include <queue>
auto main()
    -> int
{
    std::priority_queue< int, std::vector<int>, auto(*)(int,int)->bool > pq{
        []( int a, int b )->bool { return a < b; }
        };
}
What is the benefit or significance of using auto as opposed to:
    std::priority_queue< int, std::vector<int>, bool(*)(int,int)> pq{
        []( int a, int b )->bool { return a < b; }
        };
}
I thought the whole point of auto is, well, automatic type deduction. But in this case, ->bool is used which seems to make automatic type deduction moot here. So why not just use bool? Am I misunderstanding something here?
 
Aucun commentaire:
Enregistrer un commentaire