![]() |
|
Модераторы: LSD |
![]()
|
|
| srd |
|
||||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: нет Всего: 49 |
А мне всегда нравятся такие категоричные заявления. Чистый Си никуда не делся. Допустим, я на работе пишу для embedded-устройств. Используется компилятор, соответствующий стандарту C89. Из расширений там только однострочные комментарии //
Стандарт 89 года - локальные переменные определяются в начале блока. Учитывая, что блоки {} можно размещать практически произвольно... Cтандарт 99 года - локальные переменные можно определять совершенно свободно в любом месте. Где гимор?? -------------------- Не смей читать мою подпись!!! |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 11 Всего: 173 |
Mad
В C99 ввели объявление переменных в произвольном месте блока. Правда, разработка Linux началась задолго до принятия этой редакции стандарта... -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: нет Всего: 19 |
И вчем тогда отличие C99 от С++ ? |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: нет Всего: 49 |
Mad
Извини, но говорить, что Си++ отличается от Си из-за ООП и места определения локальных переменных, это такая же глупость, как говорить, что Ява - это Си++ без множественного наследования. Достаточно сравнить объёмы книг Страуструпа и K&R. Помимо классов, отличий полно, начиная от таких фундаментальных, как шаблоны, исключения, перегрузка операторов, стандартная библиотека, и заканчивая менее сногсшибательными - логические типы, типы символьных литералов, тип enum, правило "неявного int", вызовы функций без предварительного объявления, неявное приведение void* к другому типу указателя и т.д., и т.п. Добавлено @ 22:21 Void
Это расширения GCC, их полно. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| chipset |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 4 Всего: 165 |
Прийди к Юниксоидам и скажи им что они не пишут на чистом Си.
Ты имеешь в виду неймспейсы? --------------------
|
||||||
|
|||||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: нет Всего: 19 |
наймспейсы, это уже С++ ;) |
|||
|
||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Здесь я больше согласен с srd. При програмировании на С идет совсем другая методология, чем на С++. Программа на С не превращается в программу на С++, если там используются нэймспейсы или по другому производится объявление переменных, нежели в ранних версиях. ИМХО это просто развитие языка. Сила С в простоте. Это фактически ассемблер, только с более удобной формой записи. Создать компилятор С элементарно, для любого процессора (даже с поддержкой нэймспейсов и объявлением переменных в любом месте кода), тогда как для С++ это сложнейшая задача. -------------------- Account removed |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |