인프런 커뮤니티 질문&답변
17.5 강의 질문있습니다.
작성
·
267
0
int main()
{
string str1("one");
string str2;
str2 = str1; //궁금한 부분.
str2 = "two";
cout << str1 << endl;
cout << str2 << endl;
}를 했을 때 출력 값으로 str1 은 one 이 나오고 str2는 two 가 나옵니다.
근데 str2 = str1; 은 얕은 복사로 서로 같은 주소를 가르킨다고 생각이 되는데
얕은 복사가 되지 않은 이유는
c++에서 overload로 = 을 깊은 복사로 만들어주었기 때문이라고 이해하면 될까요?
아니면 다른 문법적 이유가 있어서 얕은 복사가 되지 않는 건가요?





