Автор Тема: клуб любителей С/С++ и PHP  (Прочитано 6491 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Hoha

  • Эксперт
  • *****
  • Сообщений: 1279
  • Майор Майор М. Майор
Re: клуб любителей С/С++ и PHP
« Ответ #75 : Мая 11, 2007, 17:10:04 »
насколько тяжёл клинический случай C#.

В Smalltalk 1+2*3 будет 9. Насколько тяжел его случай? Все зависит от того, насколько ты понял концепцию языка. С# не является расширением С++. Поэтому они легко могут отличаться в поведении. В С++ чаще используется оператор-метод объекта с одним аргументом и предполагается что будет передаваться ссылка. Поэтому операторы над примитивами заточили так (это моя версия). В С# типичный оператор (насколько я знаю) - статический метод класса с двумя агрументами по значению.

Можно сделать и так и так:

Number (0);
number = *(++number) + *(++number); // 3 или 4?

если

Number operator+(Number n){...} 

получится 3, если же

Number operator+(Number& n) const {...}

то будет 4.

А вообще за ++i+++i нужно выгонять нафиг и сиплюсплюсера и сишарпера.

Оффлайн jsr

  • Частый посетитель
  • **
  • Сообщений: 139
Re: клуб любителей С/С++ и PHP
« Ответ #76 : Мая 11, 2007, 17:15:26 »
Ах, вечный вопрос, что лучше - олдскульные примитивы со вытекающей отсюда производительностью или чистые объекты и нерушимые принципы ООП...

А вообще за ++i+++i нужно выгонять нафиг и сиплюсплюсера и сишарпера.
Согласен!

Оффлайн Hoha

  • Эксперт
  • *****
  • Сообщений: 1279
  • Майор Майор М. Майор
Re: клуб любителей С/С++ и PHP
« Ответ #77 : Мая 11, 2007, 17:23:07 »
Ах, вечный вопрос, что лучше - олдскульные примитивы со вытекающей отсюда производительностью или чистые объекты и нерушимые принципы ООП...

int в C# тоже примитив, чуть-чуть замаскированный - к вопросу об операторах это никакого отношения не имеет.

Оффлайн Promitheus

  • Частый посетитель
  • **
  • Сообщений: 119
Re: клуб любителей С/С++ и PHP
« Ответ #78 : Мая 11, 2007, 19:17:36 »
Это называется Андефайн Бехавиор.
int i=5;
i=++i + ++i + ++i + ++i;//36 нам даёт
int j=5;
j=++j + ++j + ++j + ++j + ++j;//50 выдаёт, хотя вроде как ожидалось 48
В 6 Билдере компилил.


Оффлайн Pascal Автор темы

  • Завсегдатай
  • ***
  • Сообщений: 356
  • злобный фрезерный дед
Re: клуб любителей С/С++ и PHP
« Ответ #79 : Мая 11, 2007, 19:34:35 »
эээ други напишите пример как 3 слова отсортировать по алфавиту! 2 дня мучаюсь... сравнивал аски-коды в цикле, удалял в каждом проходе по эл-ту массива (сдвигом i+1 на i).. дык вод криво работает! исходничек чуть позже кину, а у кого есть другие варианты решения просьба поделится!

Оффлайн Promitheus

  • Частый посетитель
  • **
  • Сообщений: 119
Re: клуб любителей С/С++ и PHP
« Ответ #80 : Мая 11, 2007, 19:47:04 »
#include <string.h>
#include <stdio.h>

int main(void)
{
   char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
   int ptr;

   ptr = strcmp(buf2, buf1);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 1\n");
   else
      printf("buffer 2 is less than buffer 1\n");

   ptr = strcmp(buf2, buf3);
   if (ptr > 0)
      printf("buffer 2 is greater than buffer 3\n");
   else
      printf("buffer 2 is less than buffer 3\n");

   return 0;
}

Оффлайн Pascal Автор темы

  • Завсегдатай
  • ***
  • Сообщений: 356
  • злобный фрезерный дед
Re: клуб любителей С/С++ и PHP
« Ответ #81 : Мая 11, 2007, 20:11:37 »
неее никаких стринг!! нада описать свою ф-цию...

Оффлайн Hoha

  • Эксперт
  • *****
  • Сообщений: 1279
  • Майор Майор М. Майор
Re: клуб любителей С/С++ и PHP
« Ответ #82 : Мая 12, 2007, 07:10:56 »
int j=5;
j=++j + ++j + ++j + ++j + ++j;//50 выдаёт, хотя вроде как ожидалось 48
В 6 Билдере компилил.

Кем ожидалось? :) Если в первом примере 36, то во втором ожидается как раз 50 :).
А вот то, что это undefined behavior очень может быть.

Оффлайн Promitheus

  • Частый посетитель
  • **
  • Сообщений: 119
Re: клуб любителей С/С++ и PHP
« Ответ #83 : Мая 12, 2007, 10:19:22 »
Hoha: Да 50 там должно быть, это я вечером уже что-то совсем зазанимался.

Оффлайн onSide

  • Опытный
  • ****
  • Сообщений: 703
Re: клуб любителей С/С++ и PHP
« Ответ #84 : Апреля 14, 2008, 15:59:13 »
Си + асм  рулят )))

Си изучал в универе , уже забыл , хочу сам занятся опять . Асм щас учим , мне нравится , чистое программирование , чистый код :)

Делфи ооочень давно сам учил , в принципе с него вроде и начинал :) Щас не люблю его , недавно  дизасмил одну такую прогу , просто офигел от кол-ва библиотечного кода там...

Оффлайн Добрый Ээх!

  • Завсегдатай
  • ***
  • Сообщений: 254
  • Летающие глазояйца к вашим услугам!
Re: клуб любителей С/С++ и PHP
« Ответ #85 : Апреля 14, 2008, 17:04:56 »
Причем тут вообще C++ и PHP? Разные языки для разных задач.

Мне вот например C# нравиться, с точки зрения продуманности и скорости разработки. MFC этож ужас по сравнению с классами С#.

Оффлайн Яков умный

  • Опытный
  • ****
  • Сообщений: 880
    • сервер перегружен
Re: клуб любителей С/С++ и PHP
« Ответ #86 : Апреля 15, 2008, 10:43:21 »
В клубе, пэхэпэ люблю, хотя моя основная работа рисовать иконки для приложений.
Сиплюсплюс не юзаю

Оффлайн Dr.Drey

  • Новичок
  • *
  • Сообщений: 11
  • панкорыб
Re: клуб любителей С/С++ и PHP
« Ответ #87 : Июня 02, 2008, 20:16:06 »
убивал бы за дельфи)
Руки прочь от PHP и Delphi...
Просто кто чем пишет... )))

Оффлайн Wintercalm

  • Ветеран форума
  • ******
  • Сообщений: 3298
  • козлик с банджой
Re: клуб любителей С/С++ и PHP
« Ответ #88 : Июня 02, 2008, 21:29:03 »
Причем тут вообще C++ и PHP? Разные языки для разных задач.

Пишу разные вещи, но пользуюсь и тем и тем

Оффлайн steal

  • Завсегдатай
  • ***
  • Сообщений: 251
Re: клуб любителей С/С++ и PHP
« Ответ #89 : Июня 02, 2008, 22:26:14 »
исправился)
« Последнее редактирование: Июня 02, 2008, 22:29:06 от steal »