const char * const ptr的初始化列表;

时间:2014-11-15 07:38:21

标签: c++ const

任何人都可以帮我编写以下将执行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

1 个答案:

答案 0 :(得分:2)

simple::simple(char *n) : name(n) {}

对于深层副本,您可以使用strdup

simple::simple(char *n) : name(strdup(n)) {}

或者,如果你没有strdup,你可以自己轻松实现它。