문제

나는 다음과 같이하는 것을 알고 있습니다.

class Obj
{
public:
    int* nine;
};

Obj Obj1; //Awesome name
int eight = 8;
Obj1.nine = &eight;
Obj Obj2 = Obj1; //Another Awesome name

그 다음에 Obj1'모래 Obj2'에스 nineS는 동일하게 가리킬 것입니다 8, 그러나 그들은 같은 포인터를 공유 할 것인가? 즉:

int Necronine = 9;
Obj1.nine = &Necronine;
Obj2.nine == ???

~ 할 것이다 Obj2'에스 nine 가리키다 Necronine, 아니면 계속 가리키는 것입니다 8?

도움이 되었습니까?

해결책

OBJ2가 Necronine을 9 번 지적 할 것인가, 아니면 8시에 계속 지적됩니까?

이 라인이 실행될 때 : obj obj2 = obj1; // 모든 객체에는 자신의 포인터가 있습니다 value(copy)obj1.nine 복사됩니다 obj2.nine 그리고 그게 다야.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top