찾아보니까 복사연산자 대입연산자 이렇게 있네요... 객체내의 변수들이 동적할당이 되거나 포인터를 쓸경우 따로 정의하지 않고 =를 박아버리면 똑같은 주소를 할당받기 때문에 오류가 일어난다... 맞나요? 그래서 따로 함수를 정해줘서 바꾸게하고 하는데 더 쉽게 하기위해 =의 정의를 새로 만들어준다... 이것도 맞나요?
익명(211.179)2019-05-04 12:27
그렇다면 객체내의 변수가 동적할당된 변수들일때 어떻게 정의하면 될까요...?
익명(211.179)2019-05-04 12:28
답글
그냥 primer plus같은 책 봐 일일히 하나씩 정보찾지말고
익명(121.163)2019-05-04 12:29
ㄴ 거지새끼여서 책이없습니다 ㅠㅠ
익명(211.179)2019-05-04 12:29
답글
투자없는 성장이란 없다, 못 배운 사람들이 어떤애는 알바하면서도 sky에서 고득점, 장학금받고 다닌다는데, 정작 sky생입장에선 어리둥절 그자체
익명(121.163)2019-05-04 12:52
답글
돈이 정말없으면 용돈 대출이라도 받는게 좋음, 대학생활동안 합계 천만원미만으로
익명(121.163)2019-05-04 12:53
복사하고싶은게 멤버변수들이면 b = a하면 a객체 멤버변수가 b 객체 멤버변수로 복사됨
익명(121.130)2019-05-04 12:31
ㄴ멤버변수가 동적할당된 배열이여도 가능한가요?
익명(211.179)2019-05-04 12:33
답글
그럼 멤버변수로 포인터가 선언되고 그 포인터가 new로 동적할당된 공간의 주소를 갖고있으면 주소가 복사됨. 결국 두 개의 객체가 하나의 힙 영역을 공유하는 셈인데 이것은 delete할때 문제가 생김 그래서 이럴 경우에는 깊은 복사를 해야됨
익명(121.130)2019-05-04 13:18
기본적으론 안됨. a 랑 b의 관계에 따라 다름. 연산자 오버로딩을 했느냐에 따라서도 달라지고 만약 자료 구조가 똑같으면 걍 복사시키면 됨
= 연산자가 어떻게 정의되어 있는가에 따라 다름 - dc App
찾아보니까 복사연산자 대입연산자 이렇게 있네요... 객체내의 변수들이 동적할당이 되거나 포인터를 쓸경우 따로 정의하지 않고 =를 박아버리면 똑같은 주소를 할당받기 때문에 오류가 일어난다... 맞나요? 그래서 따로 함수를 정해줘서 바꾸게하고 하는데 더 쉽게 하기위해 =의 정의를 새로 만들어준다... 이것도 맞나요?
그렇다면 객체내의 변수가 동적할당된 변수들일때 어떻게 정의하면 될까요...?
그냥 primer plus같은 책 봐 일일히 하나씩 정보찾지말고
ㄴ 거지새끼여서 책이없습니다 ㅠㅠ
투자없는 성장이란 없다, 못 배운 사람들이 어떤애는 알바하면서도 sky에서 고득점, 장학금받고 다닌다는데, 정작 sky생입장에선 어리둥절 그자체
돈이 정말없으면 용돈 대출이라도 받는게 좋음, 대학생활동안 합계 천만원미만으로
복사하고싶은게 멤버변수들이면 b = a하면 a객체 멤버변수가 b 객체 멤버변수로 복사됨
ㄴ멤버변수가 동적할당된 배열이여도 가능한가요?
그럼 멤버변수로 포인터가 선언되고 그 포인터가 new로 동적할당된 공간의 주소를 갖고있으면 주소가 복사됨. 결국 두 개의 객체가 하나의 힙 영역을 공유하는 셈인데 이것은 delete할때 문제가 생김 그래서 이럴 경우에는 깊은 복사를 해야됨
기본적으론 안됨. a 랑 b의 관계에 따라 다름. 연산자 오버로딩을 했느냐에 따라서도 달라지고 만약 자료 구조가 똑같으면 걍 복사시키면 됨