char [] походить від C. Це масив char. std::string — це тип класу C++, який надає багато переваг перед char[] і слід використовувати, якщо не потрібен тип char[]. наприклад, для параметра функції C тощо.
char є примітивним типом даних, тоді як String є класом у java. char представляє один символ, тоді як String може містити нуль або більше символів. Отже, String — це масив символів.
Рядки використовуються для зберігання тексту/символів. Наприклад, «Hello World» — це рядок символів.
Безпечніше використовувати std::string, оскільки вам не потрібно турбуватися про виділення/звільнення пам’яті для рядка. Клас C++ std::string, швидше за все, внутрішньо використовує масив char*. Однак клас керуватиме розподілом, перерозподілом і зняттям внутрішнього масиву за вас.
Функції c_str() і strcpy() у C++ Функцію C++ c_str() разом із функцією C++ String strcpy() можна використовувати для легкого перетворення рядка в масив char. Метод c_str() представляє послідовність символів у масиві рядків, за якими йде нульовий символ ('\0').