Цитата Сообщение от Faus Посмотреть сообщение
Попробуйте
От исходного (#1) ничем не отличается. И так же каждый цикл колбасицца от 2 до 4 проверок. Причем за каким то буля с булем (раньше сказали). И много лишнего

Bool p;

if(readValue("_1") != p){ //дергаемся по изменению

if (p = !p) {out1++; ...;} //нажали
else {out2++; ...;}; //отжали

}


Цитата Сообщение от Faus Посмотреть сообщение
Этот код гарантирует, что...
Скобки гарантируют всё/всегда/везде. Зачем пыжится с каким-то "переупорядочиванием" кода ?