학식충인데 가르침좀
vector<string> phone_book = { "119", "97674223", "1195524421" };
이러한 벡터에서
cout << 1 && "1" == phone_book[1];
요거는 문제가없는데
cout << "1" == phone_book[1];
cout << 1 == phone_book[1];
얘들은 오류가 남
1&&"1" 은 결과가 어차피 1아님 0아님?(true, false) 근데 저 자리에 그냥 1,0,true,false 넣으면 오류남
무슨 차이임??
string에 operator==(bool) 이 없으니까
"1" == phone_book[1] -> 당연함 "1" std::string이 아니라 char배열임 char배열은 ==연산자가 없음
1 == phone_book[1] -> 당연함 phone_book[1]은 숫자 형식이아님
cout << 1 && "1" == phone_book[1]; -> 앞에 있는 1과 boolean 연산을 해야해서 boolean형을 리턴해야하는데 boolean형을 리턴하는 ==연산자가 있음 문제없음..