Znam trochę C, a teraz przyjrzę się C ++. Jestem przyzwyczajony do znakowania tablic do obsługi ciągów znaków C, ale kiedy patrzę na kod C ++, widzę przykłady używające zarówno typu ciągów, jak i tablic znaków:
#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;
}
i
#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;
}
(oba przykłady z http://www.cplusplus.com )
Przypuszczam, że jest to często zadawane i (oczywiste?) Pytanie, na które udzielono odpowiedzi, ale byłoby miło, gdyby ktoś mógł mi powiedzieć, jaka jest dokładnie różnica między tymi dwoma sposobami radzenia sobie z ciągami znaków w C ++ (wydajność, integracja z API, sposób, w jaki każdy z nich jest lepszy, ...).
Dziękuję Ci.