{
항목 27에서 표준적인 형식이 어떤 형식인지 말했으니 패스하고, 표준적인 형식의 ++와 --의 구현론( 한줄로 설명 된다)과 접두 형식을 왜 사용해야 하는지 알아 보자.
우선 알아야 할 것은 "++", "--"의 표준적인 형식이 무엇인가? 인데,
전위 연산자로 후위 연산자를 구현하는것이 표준적인 형식이다. 이 항목에 대해서는 C++ Standard Template Library 에서 이야기한 내용을 쓰기보단, 구글에서~ "전위 연산자" 라고 검색을 하면 자세히 나오니 넘어가자
그렇다면 왜 접두형식을 사용 해야 하는가?
왜냐하면 후위 연산자는 전위연산자를 사용해서 구현했는데, 전위 연산자의 경우, 자기 자신을 변화시키고 자신을 리턴하는 반면, 후위 연산자는 먼저 자신을 복사한 값을 만들고, 전위 연산자로 자신을 변화 시킨후에 복사한 값을 리턴한다. 이 과정에서 2번 이상의 복사 생성자가 호출 된다. 여기서 불필요한 성능을 지불하니, "접두형식을 사용하라"고 허브셔터가 말하는 것이다.
이것을 볼 수 있는 대표적인 코드는 무엇이 있는가?
STL 의 iterator 를 보면 자세히 나와 있다. ++terator, --iterator, iterator++, iterator--, 를 한번 비교해 보는게 좋다. 이것들을 비교하므로써 표준적인 형식이 무엇이고, 어떻게 구현하는게 효과적이며, 나중에 이런 연산자를 구현해야 할 때, 어떻게 구현해야 하는지 알 수 있다.
자~ 이것으로 28 항목도 정리 끝
}
최근댓글