|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.09.2011, 18:24 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Обойти недостатки C(перед C++)
ЭВМ... Новый курс - новый препод. Всегда прогал на C++, а теперь он заставляет писать на C, аргументируя это тем, что мол некоторые системы не поддерживают C++...
Соответственно вопрос: что из этого можно как-то обойти? 1) Объявления переменных в середине код (в цикле for например) 2) new/delete 3) Работа с потоками (iostream/fstream) 4) Указатели (мелочь, но приятно) |
09.09.2011, 18:29 | #2 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
2. new -> malloc, delete -> free 3. printf, scanf, fprintf, fscanf 4. Ээээ, а что с ними не так в С? |
|
09.09.2011, 18:39 | #3 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Может я неправильно выразился, но я имел в виду, можно ли использовать эти функции в C.
malloc бесит. printf'ы вообще ппц... 4. Нельзя, чтоб функция принимала ссылку (да, имел в виду ссылки) |
09.09.2011, 18:41 | #4 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Нет, да собственно меняется на самом деле, очень мало.
|
09.09.2011, 20:22 | #5 | ||
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Цитата:
Цитата:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
||
09.09.2011, 22:37 | #6 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
У меня компилилось по-всякому.
Цитата:
Код:
4. Нельзя. Вместо них указатели. Не во всех системах (например, линуксовых) установлен цпп компилятор из коробки, зато везде есть си. А почему не спросили, как обойти невозможность перегрузки, отсутствие классов, засорение пространства кучей функций для работы с каждой структурой? Последний раз редактировалось Carbon; 09.09.2011 в 22:47. |
|
10.09.2011, 20:57 | #7 |
Пользователь
Регистрация: 02.04.2011
Сообщений: 36
|
1. В случае современных компиляторов (напр., gcc) можно объявлять переменные в середине функции. Можно объявлять и в for, это поддерживается С99, но об этом нужно отдельно указать в опциях компиляции.
2. Любой серьезный программист ДОЛЖЕН знать С. |
10.09.2011, 21:06 | #8 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Кто сказал?
И чем "серьезный" программист отличается от шутливого?
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
10.09.2011, 21:32 | #9 |
Пользователь
Регистрация: 02.04.2011
Сообщений: 36
|
|
10.09.2011, 21:42 | #10 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
многие живут без этого и все нормально. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обойти ограничение | panzergto | Microsoft Office Excel | 1 | 03.04.2010 15:46 |
3 Идеологии-достоинства и недостатки | Levsha100 | Свободное общение | 44 | 23.06.2009 23:01 |