Conozco un poco de C y ahora estoy mirando C++. Estoy acostumbrado a char matrices para hacer frente a cadenas de C, pero mientras miro el código C++ veo que hay ejemplos que usan tanto el tipo y la carbonilla cadena matrices:Diferencia entre los tipos de cadena y char [] en C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string mystr;
cout << "What's your name? ";
getline (cin, mystr);
cout << "Hello " << mystr << ".\n";
cout << "What is your favorite team? ";
getline (cin, mystr);
cout << "I like " << mystr << " too!\n";
return 0;
}
y
#include <iostream>
using namespace std;
int main() {
char name[256], title[256];
cout << "Enter your name: ";
cin.getline (name,256);
cout << "Enter your favourite movie: ";
cin.getline (title,256);
cout << name << "'s favourite movie is " << title;
return 0;
}
(ambos ejemplos de http://www.cplusplus.com)
Supongo que esta es una pregunta ampliamente formulada y respondida (¿obvio?), pero sería bueno si alguien pudiera decirme cuál es exactamente la diferencia entre esas dos formas de trabajar con cadenas en C++ (rendimiento , API i integración, la forma en que cada uno es mejor, ...).
Gracias.
Esto puede ayudar: [C++ char * vs std :: string] (http://stackoverflow.com/questions/801209/c-char-vs-stdstring) –