std::string s = t;
我想在此之后,s和t指向相同的地址。
删除t
后,s
也为空。如何制作深层照片?
答案 0 :(得分:7)
免责声明:我假设t
也是std::string
,如果我错了,请纠正我。
我想在此之后,s和t指向地址。
他们没有,他们不是指针。
一旦t被删除,s也是空的
t
无法删除,或者如果删除它,那就是你的问题。不要删除t
,它会自动超出范围。
在您的代码中,您使用std::string
的复制构造函数 - 顾名思义,它会创建原始字符串的副本。
答案 1 :(得分:1)
这是不正确的,它们是字符串的完全独立副本。当一个被删除时,另一个仍然存在。赋值运算符正是您应该如何复制它们的。