본문 바로가기

CS 지식

[C++] 상등성과 동등성

1. 상등성 (Identity)

두 객체가 메모리 상에서 정확히 같은 위치에 있는지, 두 객체가 동일한 객체인지를 나타낸다.

상등성 비교는 주로 포인터나 참조를 통해 이루어진다.

operator ==에 기반을 둔다.

 

2. 동등성 (Equality)

두 객체의 내용이나 상태가 동일한지를 나타낸다.

두 객체가 서로 다른 메모리 위치에 있더라도 내용이 같으면 동등하다고 판단한다.

operator <에 기반을 둔다.

표준의 연관 컨테이너들은 동등성에 기반을 두고 있다.

 

참고자료

https://github.com/Romanticism-GameDeveloper/GameDeveloper-Client-Interview/blob/main/C%2B%2B/%EC%83%81%EB%93%B1%EC%84%B1%EA%B3%BC%20%EB%8F%99%EB%93%B1%EC%84%B1.md

https://strawvery-devlog.tistory.com/7

'CS 지식' 카테고리의 다른 글

[C++] 순수 가상 함수 (pure virtual function)  (0) 2025.05.08
[C++] 가상 소멸자 (virtual distructor)  (0) 2025.05.08
[C++] vector  (0) 2025.05.08
[C++] typedef vs using (별칭 선언)  (0) 2025.05.08
[C++] template  (0) 2025.05.08