A simple code snippet
#include <cstdio>
#include <functional>
int main() {
auto f = std::bind(printf, "%d", std::placeholders::_2);
}
transforms to
#include <cstdio>
#include <functional>
int main()
{
std::_Bind<int (*(const char *, std::_Placeholder<2>))(const char *, ...)> f = std::bind(printf, "%d", std::placeholders::_2);
return 0;
}
using cppinsights.io (See https://cppinsights.io/s/71938cf6)
How to understand the int (*(const char *, std::_Placeholder<2>))(const char *, ...)
part of return type std::_Bind<int (*(const char *, std::_Placeholder<2>))(const char *, ...)>
?
I know that int (*)(const char *, ...)
is a function pointer type, but what's the meaning of (*(const char *, std::_Placeholder<2>))
? Is there any link to further understand this type?
Aucun commentaire:
Enregistrer un commentaire