- 1
- 2
- 3
- 4
if (MACaddress == 0)
MACaddress = pAdapterInfo->Address [5] + pAdapterInfo->Address [4] * 256 +
pAdapterInfo->Address [3] * 256 * 256 +
pAdapterInfo->Address [2] * 256 * 256 * 256;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+137
if (MACaddress == 0)
MACaddress = pAdapterInfo->Address [5] + pAdapterInfo->Address [4] * 256 +
pAdapterInfo->Address [3] * 256 * 256 +
pAdapterInfo->Address [2] * 256 * 256 * 256;
ну хоть бы уже куда комментарий "лопата" добавляли.
это стандартный портабельный способ собирания целого числа из байтов, работающий в независимости от strict alignment и от endianess. "стандртный" способ. я такой код (с мелкими вариациями) вижу почти каждый день.
и меньше писать по сравненю со сдвигами, потому что для сдвигов нужно еще и конвертировать каждый байт из памяти в unsigned int - иначе обрезание происходить будет.
да и цикл то как бы проще не будет. доп переменная понадобится. или две (для множителя/сдвига). народ пытается что бы простое обращение к памяти было как можно проще, и уж точно без flow control. разворачивание циклов оптимизатором тоже не гарантируется.
шифтов мы не проходили
Можно поспорить о том, не лучше ль было бы тут использовать сдвиги (возможно, лучше)... Но говнокодом тут и близко и не пахнет. Пахнет профессионализмом очень высокого уровня или по крайней мере зачатками такого профессионализма.