На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: ANDLL, ALXR
Страницы: (12) « Первая ... 9 10 [11] 12  все  ( Перейти к последнему сообщению )  
> #define ИЛИ template?, C++
   
#define ИЛИ template
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
Цитата D_KEY @
Ну вообще это уже описание некоторого решения, а не самой задачи.

А это ничего не меняет - поскольку решение в данном случае ровно одно (по той же причине, по какой копирование файлов делается их открытием, циклом с чтением-записью и закрытием, и никак иначе), это не что-то нетривиальное вроде суффикского автомата, а просто некое дерево с разнородными данными, хранящееся как есть, и вышеописанного объяснения, почему тут структурный вариант не подходит, достаточно, то расписывать ТЗ смысла нет никакого.

Цитата KILLER @
Так я тебе разбил три цикла на три функции, что тебя не устроило? Остальное могу словами объяснить. Аля сложные структуры данных вот там дальше гдето берут и очищаются.

Я ровно там же написал, что меня не устроило - невоможность сделать твой вариант хоть сколько-нибудь читаемым. Иди разбей все свои функции, где больше двух операторов, на функции поменьше - примерно такой же смысл у предложенного тобой говнорешения :D

Цитата KILLER @

Слушай, твой псевдокод представляет из себя три цикла в одной функции и один клинап. Это ты называешь условием? Не смеши людей, еще раз тебе повторяю. Пусть тебе кто то другой переписывает с такими условиями. Я пасс.

То есть представить, что три мелких цикла, из которых ты можешь в любой момент выйти - это, вообще говоря, нормальная ситуация, ты не в состоянии? Бедняжка :D
И вообще, напомню, что изначально ты таки просил представить псевдокод:
Цитата KILLER @
Ну приведи хоть псевдокодом. Чтоб понимать на примере.

Ну я привёл, как ты и просил, и теперь ВНЕЗАПНО ты говоришь, что его недостаточно - подавай всю задачу :lool: Да я на 146% уверен, что если я опишу требования к заполняемым данным и формат исходных данных, то ты начнёшь вопить - а почему так, а если я сменю формат данных - это будет не надо, ибо, несмотря на свой пафос, переписать без goto понятно ты это не способен, но сказать в ответ что-то надо :D

Цитата KILLER @
Странно что его коллега понял его код, как же он его понял без goto, ума не приложу.

А зря не приложишь. Если бы приложил, то понял бы, что объяснение этому было дано раз эдак пять :D
Подпись была включена в связи с окончанием срока наказания
    Господа, и что это ***? То есть одному можно троллить, второму нет?***
    M
    Напомню - отклоняю за оскорбления и мат. И за троллинг - только в тематике.
      Цитата KILLER @
      Напомню - отклоняю за оскорбления и мат. И за троллинг - только в тематике.

      Найди оскорбленя и мат в моем отклоненном посте? Там был дан обычный ответ на его сообщение. А если то что ты посчитал является оскорблением, то пройдись по теме и отклони остальные посты, а не только мои. Именно он с них и начал.
      M
      KILLER, никто тебя не троллит, не горячись. Но быть последовательным в своих постах не помешает. Ну или хотя бы чётче выражать задачи и пожелания. Я восстановил, так и быть, но давай без обидных эвфемизмов.
      OpenGL, тебя это тоже касается. Ты же знаешь горячность KILLER-на, он уже которую страницу сдерживается.
      Одни с годами умнеют, другие становятся старше.
      KILLER, ты лучше скажи, как тебе переписанный на __leave, пример?

      Добавлено
      Точнее даже переписанный на SEH.

      Добавлено
      Цитата KILLER @
      А если то что ты посчитал является оскорблением, то пройдись по теме и отклони остальные посты, а не только мои.
      Вообще да, надо бы в Холивары перенести.
      Одни с годами умнеют, другие становятся старше.
      Цитата B.V. @
      ExpandedWrap disabled
        template <typename T1, typename T2>
        T1 templatemax(T1 x, T2 y)
        {
            return (x < y)?y:x;
        }

      "Это что было, Холмс ?" ©
      Тест на внимательность ? :lol:
      В данном случае сравниваются переменные 2-х разных типов,
      что, конечно, не замечательно.
      Лучше "define" без ошибок, чем template с ошибками.
      Сообщение отредактировано: ЫукпШ -
      Подпись была выключена в связи с наложенным заземлением.
      Цитата KILLER @
      Ну а то что оно там не читаемое - это лично твое мнение. А на деле, обычно нормальные люди так и делают, чтоб не городить огород в одном месте, проще это разбить на подпрограммы.

      Ты уже разбил все свои функции из более чем трёх строк на функции поменьше? :rolleyes:

      Цитата KILLER @
      То есть ты реально головой об стену долбанулся? По твоему в моем примере нет досрочного выхода из цикла? Ты иди почитай про оператор break в циклах, чудак, откроешь для себя новую возможность выхода из цикла В твоем псевдокоде нет даже выхода из вложенного цикла. Там 3 голимых одиночных цикла, куда ты впихнул goto по своей наивной тупости. Пихать туда goto придет в голову разве что раку вроде тебя или какому нибудь первакурснегу.

      Я даже не знаю, что смешнее - то ли то, что ты где-то увидел, что я говорю, что у тебя нет выхода из цикла, то ли то, что ты каким-то боком приплёл тут множественные циклы, то ли то, что ты не понял, что под выходом тут понимается выход из функции с очисткой ресурсов :D

      Цитата KILLER @
      Ты привел говно голимое, а не псевдокод. От тебя ожидалось не скопипастить свою функцию сюда, а написать примерный псевдокод, который показывает почему там удобнее применить goto, а не что то другое.

      А я что написал по-твоему? :lool: Примерный псевдокод есть, описание того, почему вынос в отдельные функции читаемость ухудшит есть, твоя неспособность написать это лучше без goto - тоже. Что ещё надо? :D

      Цитата KILLER @
      Твоя поза страуса, кричать что все что написано без goto - нечитабильно, просто поражает.

      Цитату в студию :rolleyes:

      Цитата KILLER @
      А вот ты, несмотря на свой пафос, не способен осилить примитивные алгоритмы, для того что бы написать что то без goto.

      Детский сад :lool: Ты всерьёз считаешь, что сказанное "сам дурак" в споре может замаскировать печальный факт остуствия аргументов? :D

      Цитата KILLER @
      Чего же ты сказочник в С++ goto не юзаешь, когда работыешь например с сырыми указателями?

      Вау, а с этого момента поподробнее :popcorn: От использования сырых указателей в языке внезапно пропадают деструкторы, из-за чего действия по их очистке становится обязательно делать руками что ли? :D

      Цитата Qraizer @
      OpenGL, тебя это тоже касается. Ты же знаешь горячность KILLER-на, он уже которую страницу сдерживается.

      То есть мягко намекать на нелогичность суждений оппонента из-за того, что оппонент частенько забавно бомбит - нельзя? Ок, тогда из спора выхожу :yes-sad:
      Подпись была включена в связи с окончанием срока наказания
      Цитата ЫукпШ @
      В данном случае сравниваются переменные 2-х разных типов,
      В данном случае это не так уж страшно. Просто в случае несовместимых типов не пройдёт сравнение. Куда хуже, что тип первого параметра используется для возвращаемого значения.
      То есть templatemax(2.0, 1) вернёт вещественное 2.0, а templatemax(1, 2.0) вернёт целое 2, что скорее всего окажется несколько неожиданным для того, кто этот шаблон решится использовать.
      Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
      Цитата OpenGL @
      о есть мягко намекать на нелогичность суждений оппонента из-за того, что оппонент частенько забавно бомбит - нельзя?
      Мягко — можно.
      Одни с годами умнеют, другие становятся старше.
      Цитата ЫукпШ @
      "Это что было, Холмс ?" ©

      То, чего я опасался, не приводя примеры. Забудь про конкретно эти примеры. Думай о самом подходе.

      Цитата amk @
      В данном случае это не так уж страшно.

      Ту же. Не обсуждайте примеры. Это просто пояснение
      char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
      for (size_t i=0;i<cc;i++)??<cout<<static_cast<char>((out??(i??)??'89));??>cout<<endl;


      user posted image Чат Исходников в СкайпеЧат Исходников в Дискорде — Не проходим, а заходим!

      user posted image
      Цитата B.V. @
      Цитата ЫукпШ @
      "Это что было, Холмс ?" ©

      То, чего я опасался, не приводя примеры. Забудь про конкретно эти примеры. Думай о самом подходе.

      А тут думать вообще не о чем.
      Если это не прикол с тестом на внимательность, то сам вопрос глубоко порочен.
      ---
      Два приведённых в вопросе варианта - два инструмента.
      И всё.
      Можно было бы спросить - что лучше, вскрыть грудную полость
      консервным ножом или открыть скальпелем консервы ? :huh:
      ---
      Как бы я мог воспользоваться шаблонной функцией в "С" - компиляторе ?
      Никак.
      "С" я вынужден использовать при программировании микроконтроллеров,
      поскольку С++ компилер сгенерит процентов на 10-15 больше объём
      исполнимых кодов, а мне приходится считать каждый байт.
      Общая величина проекта ничтожна.

      Для больших проектов (для Виндус) да ещё с участием многих разработчиков
      define не очень то удобен.
      Вопрос решается сам собой.
      Каждый инструмент к своему месту.

      Добавлено
      Цитата amk @
      Просто в случае несовместимых типов не пройдёт сравнение.

      И я об этом - и зачем тогда такая функция ?
      С возможной или ошибкой, или предупреждением, или некоторым неожиданным эффектом,
      или нормальным результатом ? :o
      Давайте напишем функцию сравнения с одним шаблонным типом.
      Ничего не мешает сделать это.
      Сообщение отредактировано: ЫукпШ -
      Подпись была выключена в связи с наложенным заземлением.
      Ух! Ничоси холиварыч! :D
      "Математики думают, что Бог в уравнениях, нейрологи уверены, что Бог в мозге, а программисты уверены, что Бог — один из них."
      Морган Фриман
      Мой учебник C++ - это просто!
      Я на blogspot.com.
      Цитата ЫукпШ @
      Как бы я мог воспользоваться шаблонной функцией в "С" - компиляторе ?

      Угу, ты невнимателен
      Цитата B.V. @
      #define ИЛИ template?, C++
      char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
      for (size_t i=0;i<cc;i++)??<cout<<static_cast<char>((out??(i??)??'89));??>cout<<endl;


      user posted image Чат Исходников в СкайпеЧат Исходников в Дискорде — Не проходим, а заходим!

      user posted image
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,1764 ]   [ 24 queries used ]   [ Generated: 18.02.18, 04:56 GMT ]