문자열 파라미터에 입력 CONST 숯불 *의 :C++ : 통과하는 문자열 리터럴이 코드는 잘 작동하는 이유는 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 * 타입이다. 적어도 자동 i = "bla"; 그것은 "const char *"유형임을 나타냅니다. 함수가 const char *가 아닌 문자열을 기대하기 때문에 GetString-Function에 전달할 수있는 이유는 무엇입니까?
문자열 리터럴은'const char (&) [N]'유형이지만 C는 배열을 지역 변수에 복사 할 수 없기 때문에'auto'는 로컬'const char * '을 만듭니다. –