什么是`std :: string(*)(int)`中的星号(*)

chi*_*nce 2 c++ boost

这是代码,我不明白星号(*) std::string(*)

using boost::algorithm::join;
using boost::adaptors::transformed;
auto tostr = static_cast<std::string(*)(int)>(std::to_string);
Run Code Online (Sandbox Code Playgroud)

这是原始代码

Ser*_*eyA 5

它是一个指向函数接受int参数并返回的指针std::string- 究竟是什么std::to_string.

正如@PeteBecker指出的那样,需要进行强制to_string转换,因为存在多个重载,接受不同的参数(整数,双精度,短路等).强制转换允许编译器选择其中一个.