Вопрос

Я знаю, что если я сделаю что-то вроде этого:

class Obj
{
public:
    int* nine;
};

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

затем Obj1 и Obj2 девять будут указывать на те же 8 , но будут они имеют один и тот же указатель? То есть:.

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

будет Obj2 девять указывать на некронин или будет продолжать указывать на 8 ?

Это было полезно?

Решение

  

будет девять очков Obj2 к некронину,   или он по-прежнему будет указывать на 8?

Он будет указывать на 8. Когда эта строка будет выполнена: Obj Obj2 = Obj1; // у каждого объекта есть свой указатель значение (копия) из obj1.nine копируется в obj2.nine , и это все.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top