인프런 커뮤니티 질문&답변

최윤성님의 프로필 이미지
최윤성

작성한 질문수

C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++

66강. 깊은 복사와 얕은 복사 (1)

선생님 String 클래스의 char *getstrdata() 멤버 메서드에 관한 질문입니다.~~~

작성

·

164

0

함수 형식에 왜 *가 들어가야하는지는 알았습니다.

그런데용. 강의에서 말씀하신 것처럼 strdata가 포인터임을 감안한다면, 문자열을 얻어내는 get함수를 만들거면 그냥 간단하게

char getstrdata() const {
	return *strdata;
}

이렇게 쓰는건 안되는 건가요?

(공부가 짧아서 죄송합니다.;;)

이렇게 써보긴 했습니다. 문법적인 오류는 뜨지 않았지만, 실행해보니 s1이 출력이 안되더라구요 ㅜㅠ

선생님처럼 쓰는 것과 저렇게 쓰는 것이 어떻게 다른 것인지 설명 부탁드립니다 ㅜㅠ

답변 2

0

최윤성님의 프로필 이미지
최윤성
질문자

문자열 출력이 아예 안됐었습니다;; ㅎㅎ

0

간접연산자를 사용해서 리턴값을 받았기때문에 저장된 배열 전체의 문자열이 아니라 문자열의 첫번째 주소값만 반환되서 맨 앞의 문자 하나만 출력될 듯 싶습니당

최윤성님의 프로필 이미지
최윤성

작성한 질문수

질문하기