연산자 OverLoading

CJB_ny·2022년 7월 15일
0

C++ 정리

목록 보기
84/95
post-thumbnail

연산자 오버로딩

list를 직접 구현을 할 때

C++는 기본연산자들을 제공을 하지만

똥 + 똥, 똥 != 똥 과 같은 연산은 할 수 없다.

그래서 우리가 이것을 "오버로딩"을 통해서 "재정의" 해주어야한다.

재정의 하는 문법?은 알겠지만

bool operator != (iterator& other)

처음에 이런식으로 넣어서

이렇게 빨간줄 떳었음. 이유가 뭐냐하면은

https://ally10.tistory.com/24
참고하고

  1. 먼저 첫번째 위치의 const 는, returnType에 대한 정의이다. 해당 Function안에서 무언가 작업을 할것이고, 그 작업을 한 결과물에 대해 "임시객체, 혹은 변수"를 리턴을 하게 될틴데, 이 값들이 변경이 되지 않는것을 보장하겠다는 의미이다.

  2. 두번째 위치의 const 는 paramter에 대한 정의이다. C++에서 객체를 함수 파라미터로 전달할때, 특히 연산자 오버로딩 할 때는 피연산자인 paramter를 reference로 값을 전달하게 되는데, 이 레퍼런스 값이 변경되지 않는것을 보장하겠다는 의미다.

이런식으로 값 "수정"이 안되도록 "보장"을 해주기 위해서 인자로 들어온 매개 변수에 const 붙여주어야 한다.


const

에 대해서 햇갈린다면

https://velog.io/@starkshn/CPP%EC%96%B4%EC%86%8C31-const-%ED%8F%AC%EC%9D%B8%ED%84%B0

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글