Why do constructors work when TString is passed instead of const char *?

Actually I never thought why this works:

TCut cut(TString("x > 0"));

TString hTitle("title");
TH1D("h", hTitle, 10u, 0.0, 1.0);

According to Reference Guide, none of the constructors use TString, they need const char * for names and titles.
Why does it work anyway?

Please read tips for efficient and successful posting and posting code

ROOT Version: 6.26/06
Platform: Centos 7
Compiler: gcc 12.2.0

TString::operator const char *() const