Насколько компилятор продвинут?

Доброй ночи.
Возник вопрос , на который пока не смог найти ответ .

void loop() {

	enc.tick();
	sensor_t();
	if (((PINA >> 6) & 1) != 1)flg.tagtag = _edit_mas;
	if ((!(PINA & 1))  && (flg.tag == _start))  start_car();
	if ((!((PINA >> 1) & 1)) && (flg.tag == _proces)) stop_car();
	if ((((PINA >> 4) & 1) != 1) && (flg.tag == _select_end)) flg.tag = _select_sort;

	if ((minut > 2) && (flg.sec != _zero)) enable_sec();
	if ((flg.tag == _proces) && ((flg.tagtag == _yes) || (flg.tagtag == _no) || (flg.tagtag == _cancel))) button_mas();
	if (flg.tagtag == _show_cursor) show_cursor(myXY.mas_x);
	if ((minut > 2) && (flg.sec != _zero)) enable_sec();
	if (flg.tagtag == _edit_mas) edit_mass();
	if (flg.tagtag == _input_mas) input_mas();
	if (flg.tag == _select_sort) Select();
	if (flg.tag == _select_button) getBut(0, MaxCurLine - 1);
	if (flg.tag == _select_prof) menu1(infaData.sort);

	if (flg.tag == _select_end) getBut(1, SMaxCurLine - 1);

	if (flg.tag == _proces) proces();
	if (minut > 59) minut = 0;
}

10 и 13 строчка , посчитает ли , компилятор 2 одинаковые строчки поводом для оптимизации, или не обратит внимание… ( варнинг никаких нет)?
Спасибо.

С какой стати ему оптимизировать, может вам надо исполнить фйнкцию enable_sec() дважды?

спасибо , решил уточнить…

С таким трешем без оптимизатора СМЕРТЬ !

Для ответа на вопрос не хватает информации. Что за функции enable_sec, button_mas и show_cursor не знает никто. Как и “что за объект flg”.

Теоретически можно соптимизировать проверку условия, но для этого нужно быть уверенным, что вызываемы по дороге функции не имеют побочных эффектов, что объект flg не может измениться и т.п. ТС просто задаёт вопросы не понимая вообще ничего, отсюда и вопрос такой.

На С++, в общем случае, нет. В частных случаях, если программист позаботился о такой возможности, может и оптимизировать.
На новых языках с обязательными указаниями изменчивости и времени жизни, типа Rust, почти наверняка оптимизирует. Для того они и созданы.

Как раз хватает информации: сам факт отсутствия информации и есть недостающая информация.

Вам, может, и хватает. Мне - нет.

Петрович! Ты не заметил, что практически на любое высказывание на новом форуме можно рассказать анекдот? )))

Внимательно перечитайте цитату из Зиновьева в посте. Там всё сказано, мне добавить нечего :frowning:

да я даже под этим подпишусь - " эпоха массового производства посредственности"…
На днях вон слёзно просил DIMAXa почаще радовать нас своими изысками…

Да оно все так. Как в том посте про печатки. Убрал стрелочный вольтметр, поставил китайский показометр. И точнее, и показания читать легче - а не то. Нет теплой ламповости прибора. И ламповость в этом контексте не ругательство или стеб.
С форумом точно так. Да и индекс токийской биржи влияет. Все там, не до форумов.

Поясните плиз, почему?
чем оно хуже if (~PINA & (1<<6))
или Вы имели ввиду , что надо If (!((PINA >> 6) & 1) )

Судя по 2-му сообщению, b707-му тоже хватает.
Осталось поделиться на остроконечников и тупоконечников.

Это без меня.

И что, по-Вашему, это означает? Можете словами сказать?

безусловно лучше :slight_smile:
Первое выражение хоть какой-то смысл имело, а это :))))

Вставьте его…

бакулюм утерян однако )))