Re[29]: Собеседования в Яндекс++
От: smeeld  
Дата: 04.06.19 19:56
Оценка: -2
Здравствуйте, so5team, Вы писали:


S>будет принципиальная разница?


Будет, так как после одного вызова shared_descriptor_count() следующий обязательно вернёт не 0, если только не вызовется секция после else. компилятор учитывает первое, но не учитывает второе, так как логика преобразований в тех функциях после else не очевидная для компилтора, он не достаточно умён, чтоб это учитывать, вместо цикла компилятор генерировал исполнение тела цикла единыжды. Тот continue выглядит костылём, но он там нужен.

S>Попробуйте сперва.


Чо там пробовать? Лямбды вообще уродливы.

S>Бла-бла-бла. Написали говнокод а теперь пытаетесь умными словами прикрыться.


Да вообще как хотите, хотите бла-бла, хотите ещё что. Мне параллельно Ваше мнение. Уровень его кометентности оценил сразу по первым двум сообщениям и по тому последнему, про обязательное отсутсвие разницы с continue и без него. Вы писали всегда простейший код и думаете что всё везде так же просто или может быть сделано просто. Ничего подобного.


S>Кстати, понять, почему вот это имеет смысл:

S>
node_descp->set_current_storage_chunk(node_descp->get_current_storage_chunk());

S>тоже очень не просто.

Догадайтесь с двух раз, ладно, c трёх раз. Вы видите где-нибудь инкремент текущего storage_chunk? А он происходит. По вашему, что происходит когда делается его get, и что происходит когда делается его set? get простая операция, но set-это уже другая история. Скажу по секрету, там несколькими функциями, минимально возможным количеством кода и количеством данных, описана достаточно массивная логика. Любители простоты вроде Вас наплодили бы раз в десять-двадцать больше кода и больше данных, со всеми вытекающими последствиями для производительности кеша CPU.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.