빠짐없이 복사 안하면 어떻게 될까? ... 얼토당도 안되는 질문이지만, 복사한다는 의미를 모든것을 복사한다고 정의 내려, 모든 사람들이 이 규칙을 따른다면, 다른 사람이 만든 코드를 볼때라든지, 복사를 한다고 했을때의 연산등을 정확하게 알수 있는 장점이 있다. (여담으로 컴파일러가 만들어주는 복사 생성자나 대입연산자들은 .. 이 규칙을 따라 엄격하게 복사만해준다.) 무조건 다 복사해주겠는데, 주의해야 할 점은 무엇이 있어? 1. 기존의 클래스에서 멤버를 추가하려 할때, 복사생성자, 대입 연산자 들을 수정해야 한다. 2. 포인터 멤버 변수일때, 깊은 복사를 해야 하는지 얕은 복사만을 해야 하는지 염두해두어야 한다. 3. 파생 클래스에서 베이스 클래스의 복사생성자와 파생 클래스의 대입연산자도 수정해야 한다...
대입 연산자 검색 결과
해당 글 2건
항목 12: 객체의 모든 부분을 빠짐없이 복사하자
책 정리/Effective C++ 3판
2008. 6. 1. 19:42
항목 22 : 단독 연산자(op) 대신에 =이 붙은 연산자(op=)를 사용하는 것이 좋을 때가 있다.
부재 : 단독 연산자 보단 =이 붙은 연산자가 대체적으로 효율적이였다! 이유 1. 일반적으로 대입 형태 연산자는 단독 혀애 연산자보다 효율적이다. 왜냐하면, 단독 형태 연산자는 새 객체를 반환하는 형식으로 만들어야 하지만, 대입 형태 연산자는 왼쪽 인자에다가 처리 결과를 기록하기 때문에, 이 연산자의 반환값을 담을 임시 객체를 만들어 놓을 필요가 없기 때문이다. 2. 포인터는 대입 형태 연산자와 단독 형태 연산자를 동시에 제공함으로써 클래스 사용자에게 효율과 편리성을 경우에 따라 저울질할 기회를 줄수 있다는 것 예) result = a + b + c+ d; // 세 개의 임시 객체가 사용되는데 임시 객체 하나마다 operator+가 호출된다. Or result = a; // 임시 객체가 필요 없다. re..
책 정리/More Effective C++ 1판
2008. 5. 22. 18:14
최근댓글