私はC ++を初めて使用し、このコードがうまく機能する理由を理解していません:
string GetString(string promt)
{
cout << promt << ": ";
string temp;
getline(cin, temp);
return temp;
}
int main()
{
string firstName = GetString("Enter your first name");
string lastName = GetString("Enter your last name");
cout<< "Your Name is: " << firstName << " " << lastName;
cin.ignore();
cin.get();
return 0;
}
「bla」のような文字列リテラルは const char* 型です。少なくとも auto i = "bla"; i が「const char*」型であることを示します。関数は const char* ではなく文字列を想定しているため、GetString 関数に渡すことができるのはなぜですか?