Тернарная условная операция

Может людей не надо грузить лишним?

1 лайк

…в каком-то язЫке, кстати есть ИМХО удобный оператор
REPIT(10) { … }
куда удобнее было бы его иметь, кстати. Подобные повторы очень часто нужны, приходится городить
for(int i=0;i<10;i++) { … }

Вот. А не эти ваши кракозябры уродские.
Ахаха.

А если нужно с шагом более единицы? :wink:

значит не подходит, или внутри цикла добавить переменную с этим шагом, если нужно именно ЧИСЛО повторов соблюсти.

И нахрена козе баян?

В ассемблере: REPT выражение … ENDR
А ещё есть IRP, а особенно мне нравится IRPC.

вот и я про то же ))

От такой наглости я ажно поперхнулся.

У Вас там выше код был … и теперь … нет, определённо надо писать новую статью в серию “карта граблей” :frowning:

Хотя, именно этот код к граблям не приведёт – он просто не будет компилироваться, но направление на грабли в целом верное.

Не-не-не, у нас все ходы записаны :wink:

Не соскакивай - нахрена городить доп.переменные в REPIT(10){}, если все уже есть в for ?

Запись короче и понятнее.
С переменными вообще в Си все носятся, как дурни с балалайкой, тот типа этот… вона в Бэйсике всё просто и понятно.

#define REPIT(x) for(size_t i = 0; i < x; i++)

Пользуйся ))

1 лайк

Basic, как и омары - продукт Новой Англии. (с) из книги по qbasic.

Только не REPIT а REPEAT. Никаких суржиков!)

1 лайк

Что @Arduman запросил, то я и написал ))

int i=10;
while (i–) {…}

Мне-то зачем? Я вроде против циклов тут не выступал ))

Можно ещё предложить ему цикл по диапазону замутить. Оно ж, чем бы дитя не тешилось …

2 лайка

Ну да, я специально пометочку сделал, чтобы смысла глубокого не искали. :0)
PS:
…а может я пытаюсь вдохнуть жизнь в дискуссию, например.

Ладно, если вопрос стоял именно в том, что оно не скомпилируется, то вот тут патч появился:

(Опять же, не надо искать глубокого смысла в написанном коде. Это просто демонстрация возможностей синтаксиса этого оператора)

class parent1 {
  public:
    virtual void method();
    parent1() {};
    ~parent1() {};
};

class class1 : public parent1 {
  public:
     void method() { printf("class1 method()\r\n"); };
    class1() { printf("class1\r\n"); };
    ~class1() {};
};

class class2 : public parent1 {
  public:
    void method() { printf("class2 method()\r\n"); };
    class2() { printf("class2\r\n"); };
    ~class2() {};
};

int main(int argc, char **argv) {

  (argc > 1 ? dynamic_cast<class parent1 *>(new class1) : dynamic_cast<class parent1 *>(new class2))->method();
  return 0;
  
}

Какой то сумбур вместо музыки © толи дело REPIT !
охохо.

Валееееераааа

:smiley: