Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужен ли Си ? на десктопе 
V
    Опции темы
 
Нужен ли Си на десктопе?
Нужен [ 28 ]  [66.67%]
Не нужен [ 14 ]  [33.33%]
Всего проголосовавших: 42
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
borisbn
Дата 1.7.2011, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



maint, вы не поняли.
Цитата(maint @  1.7.2011,  18:22 Найти цитируемый пост)

FILE *fd = FIle(fname);
if(fd == NULL) return FALSE;

с первым файлом так можно сделать. А со вторым ? А с третьим ?
Меня не отсутствие конструктора напрягает, а это:
Код

    if ( a != 0 )
    {    
        fclose( a );
    }
    if ( b != 0 )
    {    
        fclose( b );
    }
    if ( c != 0 )
    {    
        fclose( c );
    }


Цитата(Сыроежка @  1.7.2011,  18:16 Найти цитируемый пост)
Попробуйте ответить без компилятора на простые вопросы, как например, этот

собрался сначала ответить никуда не подглядывая, но потом, всё-таки не выдержал, залез в стандарт, и понял, что вроде как правильно думал.
1. 0x80 == '\x80' false, т.к.
Цитата

If an integer character constant contains
a single character or escape sequence, its value is the one that results when an object with
type char whose value is that of the single character or escape sequence is converted to type int

'\x80' - при помещении его в char становится отрицательным

потом, правда, увидел это
Цитата

The value of an octal or hexadecimal escape sequence shall be in the range of
representable values for the type unsigned char for an integer character constant, or
the unsigned type corresponding to wchar_t for a wide character constant.

и засомневался...

2. unsigned, т.к.
Цитата

If an int can represent all values of the original type, the value is converted to an int;
otherwise, it is converted to an unsigned int. These are called the integer
promotions


Какую оценку ставите ? smile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
mes
Дата 1.7.2011, 22:11 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(maint @  1.7.2011,  17:22 Найти цитируемый пост)
bool glueFiles( char * a_name, char * b_name, char * c_name ) {
    bool result = false;
    FILE * a = fopen( a_name, "rb" );
    FILE * b = fopen( b_name, "rb" );
    FILE * c = fopen( c_name, "rb" );
    if ( a != 0 && b != 0 && c != 0 )
    {
        // обработка
        result = true;
    }
    if ( a != 0 )
    {    
        fclose( a );
    }
    if ( b != 0 )
    {    
        fclose( b );
    }
    if ( c != 0 )
    {    
        fclose( c );
    }
    return result;
}


уже не раз говорилось, не стоит программировать на С в стиле С++ .. 
я не знаток С, но Ваш код должен был выглядить как минимум так :

Код

{
    bool result = false;
    
    FILE * a = fopen( a_name, "rb" );   
    if (!a) goto close_a;

    FILE * b = fopen( b_name, "rb" );
    if (!b) goto close_b;
    
    FILE * c = fopen( c_name, "rb" );
    if (!c) goto close_c;       
    
    // обработка
    result = true;
     
    close_c: fclose( c );
    close_b: fclose( b );
    close_a: fclose( a );
  
    return result;
}



--------------------
PM MAIL WWW   Вверх
borisbn
Дата 1.7.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



mes, но гоуту же 


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
maint
Дата 2.7.2011, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 12.5.2008

Репутация: нет
Всего: 2



Цитата(borisbn @ 1.7.2011,  19:09)
maint, вы не поняли.
Цитата(maint @  1.7.2011,  18:22 Найти цитируемый пост)

FILE *fd = FIle(fname);
if(fd == NULL) return FALSE;

с первым файлом так можно сделать. А со вторым ? А с третьим ?
Меня не отсутствие конструктора напрягает, а это:
Код

    if ( a != 0 )
    {    
        fclose( a );
    }
    if ( b != 0 )
    {    
        fclose( b );
    }
    if ( c != 0 )
    {    
        fclose( c );
    }


[/QUOTE]
А деструктор не делает то же самое ? Как вы думаете. А вопрос, закрывать за собой дверь или это должна делать автоматика с поглощением ресурса, вопрос вкуса. Вообще, апологеты плюсов здесь собравшиеся, похоже из той когорты, которые для вычисления факториала и задачи о 8 ферзях,класс создают. И не ставящие не в грош ресурсы компа (память дешёвая, проц. поменяй).
PM   Вверх
boostcoder
Дата 2.7.2011, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(maint @  2.7.2011,  06:22 Найти цитируемый пост)
для вычисления факториала и задачи о 8 ферзях,класс создают

нет. строго mpl-код.
решать все в рантайме - привычка в основном новичков и сишников smile 
PM WWW   Вверх
boostcoder
Дата 2.7.2011, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(maint @  2.7.2011,  06:22 Найти цитируемый пост)
не ставящие не в грош ресурсы компа (память дешёвая, проц. поменяй)

именно по этому, все что можно решить в compile-time - решают в compile-time.
но сишникам откуда это знать.

зы
это я все к тому, что не нужно так категорично говорить о том, чего вы не понимаете. и обвинять плюсовиков в том, что они чего-то там не экономят.


Это сообщение отредактировал(а) boostcoder - 2.7.2011, 07:05
PM WWW   Вверх
maint
Дата 2.7.2011, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 12.5.2008

Репутация: нет
Всего: 2



Цитата(boostcoder @ 2.7.2011,  07:03)
Цитата(maint @  2.7.2011,  06:22 Найти цитируемый пост)
не ставящие не в грош ресурсы компа (память дешёвая, проц. поменяй)

именно по этому, все что можно решить в compile-time - решают в compile-time.
но сишникам откуда это знать.

зы
это я все к тому, что не нужно так категорично говорить о том, чего вы не понимаете. и обвинять плюсовиков в том, что они чего-то там не экономят.

это не обвинения, а факты. И человека, который программирует на обоих языках. А обвинения идут от людей, ничего кроме плюсов от мелкософт не знающиих
PM   Вверх
boostcoder
Дата 2.7.2011, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(maint @  2.7.2011,  08:24 Найти цитируемый пост)
это не обвинения, а факты. И человека, который программирует на обоих языках. А обвинения идут от людей, ничего кроме плюсов от мелкософт не знающиих

тролленг детектед! smile 
PM WWW   Вверх
MAKCim
Дата 2.7.2011, 09:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



си нужен


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
sergioK1
Дата 2.7.2011, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(mes @ 1.7.2011,  21:11)

уже не раз говорилось, не стоит программировать на С в стиле С++ .. 


   
 это слишком обшие слова  , смотря какая задача,

 Borisbn,

  это не отвечает на твой вопрос? (для кпопки в Гуи С наверно не нужен, для обращения к железу наверно да),
  
 


 

 



Это сообщение отредактировал(а) sergioK1 - 2.7.2011, 13:13
PM MAIL   Вверх
MAKCim
Дата 2.7.2011, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



правильно написанная программа на С легко читается, модифицируется и отлаживается
с другой стороны три кита ООП, являющиеся частью синтаксиса С++, здорово ускоряют процесс разработки
(именно ускоряют, ООП можно в С также использовать)
мой идеал: С с поддержкой наследования, полиморфизма и инкапсуляции
что-то типа Objective-C, но не с таким убогим синтаксисом
при этом, чтобы изначальная простота языка пострадала не сильно

эх, мечты, мечты...



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
borisbn
Дата 2.7.2011, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(maint @  2.7.2011,  06:22 Найти цитируемый пост)
Вообще, апологеты плюсов здесь собравшиеся, похоже из той когорты, которые для вычисления факториала и задачи о 8 ферзях,класс создают. И не ставящие не в грош ресурсы компа (память дешёвая, проц. поменяй).

Если внимательно посмотришь на результаты опроса и почитаешь сообщения, то поймёшь, что никакого засилия плюсовиков тут нет и в помине. Скорее наоборот.
По поводу ресурсов - на 99,(9) уверен, что нормальный компилятор в приведённом мной примере сгенерит абсолютно идентичный код. Можешь проверить.

Думаю стОит пояснить: я создал тему вовсе не для того, чтобы поиздеваться над Си и теми, кто на нём пишет, а для того, чтобы разобраться, нужен ли он или нет. Причём на десктопе, а не вообще ! И если нужен, то зачем. Отдельное спасибо Сыроежке за подробные и понятные ответы.


MAKCim, крткст сстр тлнт ? smile
опоздал. писал, пока было только "си нужен" smile

Это сообщение отредактировал(а) borisbn - 2.7.2011, 09:40


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
mes
Дата 2.7.2011, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(borisbn @  1.7.2011,  21:55 Найти цитируемый пост)
mes, но гоуту же  

вот опять, кто то погрозил пальчиком, и теперь ни за что и не где goto не будет использовано, класс ! 
хотя я все таки предпочитаю понимать почему что-то плохо, а не слепо следовать чужим советам...

вот без гото :
Код

int main ()
{
    bool result = false;
    
    FILE *a, *b, *c;
    
    do {  if ( a = fopen( "a_name", "rb" ) ); else break;          
    do {  if ( b = fopen( "b_name", "rb" ) ); else break;   
    do {  if ( c = fopen( "c_name", "rb" ) ); else break;       
     
   
    // обработка
    result = true;

    // destruction 
    fclose( c ); } while (0);
    fclose( b ); } while (0);
    fclose( a ); } while (0);
    
      
    return result;
}


P.S. в примере с goto закралась ошибка, но на суть не влияет..

Добавлено через 2 минуты и 21 секунду
Цитата(sergioK1 @  2.7.2011,  08:23 Найти цитируемый пост)
система SAP где миллионы строк кода написана на С в стиле С++, 

полагаю Вы путаете "C в ООП стиле" и "C в C++ стиле"..

Добавлено через 5 минут и 52 секунды
Цитата(maint @  2.7.2011,  05:22 Найти цитируемый пост)
. Вообще, апологеты плюсов здесь собравшиеся, похоже из той когорты, которые для вычисления факториала и задачи о 8 ферзях,класс создают. И не ставящие не в грош ресурсы компа 

Цитата(maint @  2.7.2011,  07:24 Найти цитируемый пост)
это не обвинения, а факты. И человека, который программирует на обоих языках. 

почему то тянет сказать :  "по себе людей не судят"  smile 


Добавлено через 9 минут и 42 секунды
Цитата(MAKCim @  2.7.2011,  08:33 Найти цитируемый пост)
с другой стороны три кита ООП, являющиеся частью синтаксиса С++, здорово ускоряют процесс разработки

с одним уточнением, в С++ не только  эти три Кита,  облегчают и ускоряют процесс.. smile

Добавлено через 11 минут и 22 секунды
чтоб не было нападок, вызванных последней фразой, также дополню : "да, С++ ужасен и монструозен и при всем этом в нем многого не хватает".. 



--------------------
PM MAIL WWW   Вверх
MAKCim
Дата 2.7.2011, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(mes @  2.7.2011,  11:15 Найти цитируемый пост)
с одним уточнением, в С++ не только  эти три Кита,  облегчают и ускоряют процесс.. 

чем больше "плюшек", тем больше костылей и возникающих сложностей
в простоте сила


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
boostcoder
Дата 2.7.2011, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(MAKCim @  2.7.2011,  11:28 Найти цитируемый пост)
в простоте сила

"сила в правде" (с) кто-то там..
 smile 

Это сообщение отредактировал(а) boostcoder - 2.7.2011, 11:32
PM WWW   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 24 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.