- 1
x & (x-1);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
x & (x-1);
Написавший это утверждает, что меняется содержимое памяти, но как происходят эти мистические изменения он объяснить не может.
то можэт быть...
Так чтоле: ?
0. Автор запомнил это конструкцию, она изменила его память.
1. В момент написания кода в текстовом редакторе данная конструкция вписалась в оперативную память, затем долговременную память на жёстком диске.
2. При компиляции понадобилась память под подгрузку из файла, память под узел в AST, память под скомпилированный вариант.
3. При исполнении могла потревожиться память в регистрах.
4. При загрузке на ГК этой строчкой забилась память в маршрутизаторах и прочем сетевом оборудовании, переписалась память в БД.
5. При просмотре этого кода снова забивается память сетевых устройств, память ПК пользователей и память в их голове.
Не было бы этой строчки - не менялось бы содержимое памяти.
EBAD_STR_PTR_EXCEPTION
Я сегодня до зари встану,
По широкому пройду полю.
Что-то с памятью моей стало,
Всё, что было не со мной, помню.
3. при компеляции тоже могла. В принципе, в x86 мало инструкций которые не затрагивают регистр. И уж точно там был хотя бы один call, а значит sp точно был затронут
Состальным согласен