std::string s = "string";
このようにstringを宣言した場合、
char *c = "strings";
std::string s(c);
と解釈されるのですか

それとも、"string"と書いただけでstringに解釈されるのですか