任何人都可以帮我编写以下将执行DEEP COPY的构造函数
class simple
{
const char* const name;
simple(char *n);
};
如果我尝试:
simple(char *n):name(new char[strlen(n)]) {
strcpy(name,n);
} // it is error
答案 0 :(得分:2)
simple::simple(char *n) : name(n) {}
对于深层副本,您可以使用strdup
:
simple::simple(char *n) : name(strdup(n)) {}
或者,如果你没有strdup,你可以自己轻松实现它。