gardenia   4년 전

안녕하세요. 27, 29줄에서 printf와 scanf를 사용할 때는 문자열들이 정렬되지 않았는데

입출력방법만 cin과 cout을 사용하니 정렬이 되더라고요. 이 이유가 무엇인가요?

그리고 6줄에서 bool cmp(const string& a, const string& b)와 같이 인자를 받지 않고 string 으로 받아도 정렬이 되는 것은 string이 변수가 아닌 레퍼런스이기 때문인 것이 맞나요?

그럼 감사합니다!

djm03178   4년 전

단순한 이유입니다. scanf로는 string에 문자열을 저장할 수 없습니다. 그 이상은 없습니다.

djm03178   4년 전

printf도 마찬가지입니다. 클래스라는 개념이 나오기도 전부터 C를 위해 만들어진 함수들이, C++에서 추가된 개념으로 구성된 클래스 객체와 상호작용할 수 있을 리가 없죠.

gardenia   4년 전

@djm03178 답변해주셔서 감사합니다.

댓글을 작성하려면 로그인해야 합니다.