Может ли кто-нибудь помочь мне написать следующий конструктор, который сделает 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
simple::simple(char *n) : name(n) {}
Для глубокой копии вы можете использовать strdup
:
simple::simple(char *n) : name(strdup(n)) {}
Или, если у вас нет strdup, вы можете так же легко реализовать его самостоятельно.