Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2016, 20:39   #1
Borodatiy noname
 
Регистрация: 17.11.2016
Сообщений: 6
По умолчанию [C++] В чем преимущества строки перед массивом символов?

В чем преимущества строки перед массивом символов?

Последний раз редактировалось Вадим Мошев; 29.11.2016 в 22:01.
Borodatiy noname вне форума Ответить с цитированием
Старый 29.11.2016, 22:07   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Хотя бы тем, что для строки, как для типа данных, уже есть функции для операции над ними, хотя бы банальный вывод на экран:
Код:
std::cout << myString;
(хоть это, строго говоря, не функция)

В случае с массивом придётся выводить либо посимвольно, либо писать свою подпрограмму (что по сути может свестись к первому варианту).

Если речь идёт НЕ о консольных приложениях, то ситуация не сильно меняется. Если у нас есть визуальный компонент (например, label), текстовому значению которого мы хотим присвоить значений нашей строки, мы можем просто написать:
Код:
label1->caption = myString;
Массив же присвоить так не получится, придётся изворачиваться с циклами или писать что-то своё.

Последний раз редактировалось Вадим Мошев; 29.11.2016 в 22:13.
Вадим Мошев вне форума Ответить с цитированием
Старый 30.11.2016, 10:46   #3
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Если брать более абстрактно, а не "char* x[]" vs std::string, то любые ОО-обёртки (вменяемо спроектированные) дают:
- большую гибкость (можно "точечно" подменять реализацию.... например, применить какой-то более заточенный вариант строк, просто передав класс с тем же интерфейсом)
- методы привязаны к объекту, поэтому мы получаем не "сотни тысяч функций и попробуй вспомни какая нужна\применима тут", а "вот пачка методов объекта и они все (относительно) валидны, поэтому только выбери нужный"

Но это уже более сложные темы, ещё и я скомкано ответил (более детальный ответ потянет на целую книгу)
GreenWizard вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
Плюсы,минусы: Какие преимущества обхода графа в ширину перед обходом в глубину и наоборот? Максим 116 Помощь студентам 0 30.10.2013 14:42
Вставка произвольных непечатных символов перед шифрованием Zibiv Общие вопросы Delphi 13 01.06.2011 22:57
преимущества и убытки USB перед PS/2 портом. Человек_Борща Общие вопросы Delphi 4 22.04.2010 23:58
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10