728x90
728x90
SMALL
포인터와 참조의 멤버 선택
포인터 혹은 참조로 구조체/클래스 멤버에 접근할 수 있다.
#include<iostream>
using namespace std;
struct Person
{
int age;
double weight;
};
int main()
{
Person person;
person.age = 5;
/* 참조로 멤버에 접근 */
Person &ref = person; // 구조체 참조 변수
ref.age = 15;
/* 포인터로 멤버에 접근 */
Person *ptr = &person; // 포인터 참조 변수
ptr->age = 30; // 포인터로 멤버에 간접참조로 접근할땐 -> 화살표를 사용한다.
(*ptr).age = 20; // . 가 * 보다 우선순위가 높기 때문에 간접참조를 하기 위해선 *를 괄호로 감싸우어야 한다.
Person &ref2 = *ptr; // ptr이 가리키고 있는 것은 person이니 Person &ref2 = person이나 마찬가지.
ref2.age = 45;
cout << &person << endl;
cout << &ref2 << endl;
return 0;
}
728x90
300x250
LIST