Comment initialiser un constructeur qui prend les Chaînes de caractères comme paramètres?

Je ne suis pas sûr que je suis en utilisant la terminologie appropriée, mais la question est comment puis-je bien faire d'un constructeur qui prend une chaîne de caractères comme paramètre?

Je suis habitué à avoir un const char * dans le constructeur au lieu de chaînes de caractères.

Normalement, je devrais faire quelque chose comme ceci:

Name(const char* fName, const char* lName)
    : firstName(0), lastName(0)
{
    char * temp = new char [strlen(fName) + 1];
    strcpy_s(temp, strlen(fName) + 1, fName);
    firstName = temp;

    char * temp2 = new char [strlen(lName) + 1];
    strcpy_s(temp2, strlen(lName) + 1, lName);
    lastName = temp2;
}

Que si le constructeur est: est-ce

 Name(const string fName, const string lName) { }

Dois-je encore faire la base de l'initialisation de membre? dois-je encore besoin d'utiliser la chaîne de copie dans la base du constructeur?

OriginalL'auteur Sarah | 2013-11-05