0

次のコードをどこかで見ました。

class Person {
   private:
       string *customerName;
   public:
        Person() {customerName = new string;}
        void setCustomerName(char *s) {*customerName = s;}
};


int main()
{
   Person person1;
   Person person2;

   person1.setCustomerName("Malcolm");
   person2 = person1;
}

person1 と person2 はすべて同じメモリを指していますか? person1 が削除された場合、または person2 が削除された場合はどうなりますか? 他のオブジェクトが破損する原因になりますか? またはメモリリーク?

4

1 に答える 1