이동대입연산자1 C++ 언어 기초 (10) - 연산자 다중정의 II ▣ 대입 및 이동 대입 연산자 ● 대입 연산자( = )란? ▷ 묵시적 대입 연산자: 오른쪽 피연산자 데이터 멤버를 왼쪽 피연산자에 그대로 복사 ▷ 객체에 동적할당된 메모리를 가리키는 포인터가 포함되어 있으면 -> 얕은 복사로 인해 의도하지 않은 공유 상태의 문제가 발생할 수 있다. -> 깊은 복사를 할 수 있게 대입 연산자를 다중정의 해야 한다. ● 대입 연산자 다중정의 예시 ▷ VecF 클래스 VecF& VecF::operator=(const VecF& fv) { //VecF& 참조로 반환한다. if (n != fv.n) {//벡터의 크기가 다르면 delete[] arr;//기존 메모리 반환 arr = new float[n = fv.n];//새로 메모리 할당 } memcpy(arr, fv.arr, si.. 2020. 9. 3. 이전 1 다음 반응형