공부/기타
[C/C++] ->(화살표) 와 .(도트)
로디네로
2022. 10. 3. 23:06
반응형
이 둘은 클래스나 구조체에서 변수를 사용할때 이용하는 연산자이다.
즉 무언가에 접근 이라는 의미로 사용된다.
요약
1. .(도트) 는 클래스의 멤버를 직접적으로 접근한다.
2. ->(화살표) 는 포인터를 통해 멤버를 간접적으로 접근한다.
3. 즉 a->b 는 (*a).b 와 동일하다.
예시
- 아래 예시를 통해 이해해보자
#include <iostream>
using namespace std;
class Mycls {
public:
int age = 10;
int num = 1000;
const char* name = "홍길동";
};
struct Mystruct {
int age = 20;
int num = 2000;
const char* name = "김김김";
};
void main() {
Mystruct mystruct; //구조체 선언
// ->(화살표) 를 통해 구조체 포인터의 멤버에 접근한다
Mystruct* mystruct2 = new Mystruct; //구조체 동적할당
mystruct2->num = 3000;
// .(도트) 는 클래스의 멤버를 직접적으로 접근한다.
Mycls mycls; //클래스 선언
mycls.num = 4000;
Mycls* mycls2 = new Mycls(); //클래스 동적선언
cout << mystruct.num << endl; // 2000
cout << mystruct2->num << endl; // 3000
cout << mycls.num << endl; // 4000
cout << mycls2->num << endl; // 1000
}
끝
반응형