포인터를 통한 멤버 접근과 참조를 통한 멤버 접근

gyubong park·2022년 2월 4일
0

힙에 객체를 생성 후 포인터 접근 방법 외에 객체 접근을 해야만 하는 경우가 있었다.
간단하지만 몰랐던 방법이라 이를 위에 예제 코드를 작성해보았다.

#include <iostream>
#include <memory>
using namespace std;

class testA {
public:
    void func1(){
        cout << "testA.func1" << endl;
    }
};

int main() {
    testA* aClass = new testA;

    // 포인터 접근
    aClass->func1();

    testA& bClass = *aClass;
    // 객체 접근
    bClass.func1();

    return 0;
}

c++에서는 객체를 힙에 생성하기 위해서는 new를 통해 포인터로 받는다. 그리고 포인터를 통해 멤버함수에 접근하기 위해 ->을 이용한다.
그런데 매크로 사용 혹은 기타 이유로 객체에 대한 접근(.)로 해야만 하는 경우가 있다. 이때 참조(&)를 통해 선언 후 이를 포인터 객체를 맵핑해주면 참조로부터 접근이 가능하다.

profile
초보 개발자

0개의 댓글