在C中我用过strcpy
做一个深拷贝一个字符串,但它仍然是'fine' to use strcpy
在 C++ 中还是有更好的替代方案我应该使用?
我将其放在上面的注释中,但只是为了使代码可读:
std::string a = "Hello.";
std::string b;
b = a.c_str(); // makes an actual copy of the string
b = a; // makes a copy of the pointer and increments the reference count
所以如果你真的想模仿strcpy
,您需要使用复制它c_str()
;
UPDATE
应该注意的是,C++11 标准明确禁止在许多实现中使用的常见写时复制模式std::string
之前。因此,不再允许引用计数字符串,以下将创建一个副本:
std::string a = "Hello.";
std::string b;
b = a; // C++11 forces this to be a copy as well
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)