Я знаю трохи C, і зараз я дивлюсь на C ++. Я звик до масивів char для роботи з рядками C, але переглядаючи код C ++, я бачу, що є приклади, що використовують як тип рядка, так і масиви char:
#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;
}
і
#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;
}
(обидва приклади з http://www.cplusplus.com )
Я припускаю, що це запитання з широкими відповідями (очевидно?), Але було б непогано, якби хтось міг сказати мені, в чому полягає різниця між цими двома способами для обробки рядків у C ++ (продуктивність, інтеграція API, спосіб кожного з них краще, ...).
Дякую.