C++中关于strcpy函数的问题

2025-01-05 17:38:08
推荐回答(2个)
回答(1):

字符串都是以0结尾的字符数组,所以1中只拷贝第一个字符。因为,S2和S1指向同一个字符串,所以S1和S2的内容都变了
2拷贝整个字符串从N到S1, 因为,S2和S1指向同一个字符串,所以S1和S2的内容都变了
3,指针的复制,S1不在像原来那样指向S2而是指向N了,所以 S2的内容没有变

回答(2):

楼主拷贝构造函数写的有问题,不应该让拷贝构造产生的对象和已有的对象都指向同一个字符串,拷贝构造函数不是简单的用指针赋值,不要让两个对象指向同一块内存。应该为调用拷贝构造函数产生的新对象也要分配内存空间。这样就不会出现上面得问题了