Why C++ is better than C?
ivansorokin — 13.02.2010
Как-то была дискуссия с Кроме того в интернетах очень много обоснований в обратную сторону. Я считаю необходимо восстановить баланс силы.
Совет 1. Используйте string вместо массива чаров
Почему массивы чаров плохие?
- Они могут переполняться (либо ваши строчки будут обрубаться, либо вы будете срать в память)
- Если вам всё-таки понадобиться настоящая строчка переменной длины, вам придётся писать больше кода, чем на Плюсах (а ещё и думать когда освобождать память)
- Специальное значение символа
'\0'встречающегося в самых неподходящих местах
Итак
- Если вы хотите написать
char str[100];пишитеstring str; - Если вы хотите написать
char * str = new char[100];(это не Си, но во многих Плюсовых программах я встречал такие вещи) пишитеstring str; - Вместо
strcmpнадо использоватьoperator==(вам больше не надо думать что означаетif (!strcmp(a, b)). - Вместо
strcpy—operator=. - Вместо
strcat, уstringестьoperator+и функцияappend.
C++ — это очень просто. Станет ли от этого ваш код лучше? Несомненно. Кстати он ещё и заметно подсократится от этого.
Понимаете, на Сях невозможно написать класс string, чтобы я мог просто взять и пользоваться им как int'ом ни о чём не думая (попробуйте попользуйтесь GString из GLib).
На мой взгляд, одного отсутствия нормальной строчки достаточно, чтобы никогда в страшном сне не писать на Сях, но это лишь вершина айсберга.
UPD: Проредил коменты, а то какой-то холивор начался.
Как выбрать между имплантацией, протезированием и коронками для восстановления улыбки
Наш новый фильм "Птицы Кунашира". Приглашаем на премьеру
Ворота каньона?
Про "героическую помощь" польских войск в Победе над гитлеровской Германией
Юбилей
Искусство зимнего блеснения щуки: от поиска до уверенной поклевки
Сегодня в полночь было дело
Oбраз Соловья и робокостюмы фильма -сказки "Соловей против Муромца" (2025)
Цепь катастроф и аварий

