C++ 개념 정리

5. 연산자

CE : 하랑 2026. 1. 3. 00:17

 

- 연산자

변수를 사용해서 특정한 결과를 리턴하는 것을 연산자라고 한다.

변수가 1개 필요하면 단항 연산자이다. ex) !

변수가 2개 필요하면 이항 연산자이다. ex) +, *, -

변수가 3개 필요하면 삼항 연산자이고 하나뿐이다. Left == Right ? true : false

 

- 연산자 오버로딩(연산자 겹지정)

클래스의 함수를 만들 때 연산자 형식으로 사용할 수 있게 만드는 함수다.

 

 

- operator= (대입 연산자)

전체 객체를 복사하기보다 8바이트만 사용해서 값을 가져올 수 있다.

// 디폴트 대입연산자
void operator=(const FStructValue& _Other)
{
    iNumValue = _Other.NumValue;

    // 쉘로우 카피라고 부른다.
    // 이걸 얕은 복사
    // 깊은 복사가 더 좋은 복사 -> 때에 따라 얕은 복사, 깊은 복사 사용법이 다르다
    iArrPtr = _Other.ArrPtr;
}

 

 

 

주소 연산자 &는 변수 이름 앞에 사용하여 해당 변수의 메모리 주소 값을 반환한다.

참조 연산자 *는 포인터의 이름이나 주소 앞에 사용하며  해당 주소를 참조하여 주소에 저장되어 있는 값을 반환한다.

 


포인터, 레퍼런스

변수의 주소값을 저장하기 위한 자료형

 

포인터는 중간에 변경될 수 있다. 중간에 자신이 가리키는 대상을 바꿀 수 있다., 선언 가능

레퍼런스는 한 번만 초기화되면 가리키는 대상을 변경할 수 없다.

 

 

 

this

this는 자기 자신의 객체를 가르키는 포인터 입니다

 

this -> 클래스* const

 


얕은 복사 -> 참조를 복사하는 것을 얕은 복사

깊은 복사 -> 값을 복사하는 것 

'C++ 개념 정리' 카테고리의 다른 글

7. C++ 형변환  (1) 2026.01.03
6. 생성자, 소멸자  (0) 2026.01.03
4. 메모리  (0) 2026.01.01
3. C++ template  (0) 2025.12.30
2. 추상 클래스  (0) 2025.12.30