Батарейки в беспроводных наушниках, мягко говоря, небольшие по размеру ... работали как можно дольше ... энергия
В принципе проще тогда плясать от того что удельная излучаемая энергия на единицу времени ничтожна, даже если предположить её 100% расход на это излучение.
Беспроводные наушники 99.99% времени (когда человек не жмёт на расположенные на них кнопки — если они там вообще есть) работают исключительно на приём.
Протоколы передачи данных всех уровней совсем не отсылают служебных пакетов для нужд синхронизации своей деятельности? Ну хотя бы keep-alive какой-нибудь.
Если по указанному адресу такого объекта никогда не было, это уже никакое не UB. Там в принципе ничего работать не должно. Через интегральные типы передают указатели когда по-другому этого не сделать. Например в WPARAM/LPARAM.
На сколько я понимаю про УБ, то оно возникает как следствие оптимизации кода, когда компилятор решает сам как должно быть лучше.
UB не возникает как следствие оптимизации кода. UB развязывает руки компилятору делать что вздумается ради максимально оптимизированного кода. Но он и без включенной оптимизации может творить что угодно, раз стандарт не накладывает ограничений.
А без оптимизации я даже примерно представляю, что должно получиться в ассемблере и там всё норм, поведение определено архитектурой.
Полагаться на везение не есть хорошо. Но смотря что пишем, конечно.
Неизвестно почему тут вообще должно быть UB. reinterpret_cast явно оставляет биты на месте, лишь говоря компилятору интерпретировать их по-другому. Если исходные и конечные сущности бит в бит одинаковы размером, то какие проблемы. А если нет, то компилятор сам проинформирует о несоответствии. Другое дело всякие static_cast и C-style приведение типов. Это явное создание новой сущности, и в этом процессе пространство для самодеятельности конечно огромное.
Э не. Поле (а) инициализируется потоком из временной лямбы. Возможно даже std::thread не нужен, лень проверять. Сама лямбда имеет доступ к головному классу и его полю (b).
То есть стандарт прямо говорит, что в этой ситуации может произойти что угодно. В моем случае метод поиска в таблице не работал. Это выглядело интересно
Это выглядит совершенно нормально. Стандарт ни разу не обещал многопоточную целостность для STL контейнеров.
Зачем вы вообще создаёте лишний поток, который создаёт потоки? Ничего кроме лишнего геморроя это не принесёт.
Создание потоков вообще не лучшая практика. Нынче принятно всё лопатить в thread pools. Либо используйте более высокоуровневые примитивы типа future/promise. Они как минимум берут на себя все эти проблемы многопоточной синхронизации.
Это работает только потому что эти функции создают барьеры. Атомарное изменение переменной индекса тут "постольку поскольку". Можно положить thread в память и честно атомарно инкрементировать индекс, и чтец его целым прочитает. Только вот thread в память ещё не доехал...
А у кого мышление попроще, они живут только настоящим. Проблемы будущего для них нет. ... Не дадут телефон поиграть, устроят истерику и будут биться головой о пол, пока не дадут телефон например.
Скорее похоже на симптоматику СДВГа. Т.е. опять-таки, гены.
Слишком сложный сценарий. Ребенок реально паинька, потому что нет представления о других моделях поведения.
Другая модель поведения предполагает лишение всяких плюшек в виде смартфонов и т.п. Ему это надо?
Простой способ агрессия неуправляемая, без учета своих возможностей, обстоятельств и последствий.
А что последствия? Думаете этот контингент пугает тюрьма? Не только не пугает. Наоборот, у них это что-то вроде ачивки как у айтишника съездить в США в Гугле поработать.
И вы очень удобно не прокомментировали подтверждение этой идеи при личном разговоре.
А что при личном разговоре? Там поди сидит такой же сеньйор с такими же личными установками что чем больше лычек, тем выгоднее отличаешься на фоне остальных.
Давно прошли времена когда можно было даже целевого языка программирования не знать.
В принципе проще тогда плясать от того что удельная излучаемая энергия на единицу времени ничтожна, даже если предположить её 100% расход на это излучение.
Указатель не обязан быть просто числом размером в машинное слово. Это только во flat модели так. Ещё есть сегментные/страничные системы адресации.
Протоколы передачи данных всех уровней совсем не отсылают служебных пакетов для нужд синхронизации своей деятельности? Ну хотя бы keep-alive какой-нибудь.
Тёплом-ламповом огне!
Это не бага, это фича C++.
Если по указанному адресу такого объекта никогда не было, это уже никакое не UB. Там в принципе ничего работать не должно. Через интегральные типы передают указатели когда по-другому этого не сделать. Например в WPARAM/LPARAM.
UB не возникает как следствие оптимизации кода. UB развязывает руки компилятору делать что вздумается ради максимально оптимизированного кода. Но он и без включенной оптимизации может творить что угодно, раз стандарт не накладывает ограничений.
Полагаться на везение не есть хорошо. Но смотря что пишем, конечно.
Неизвестно почему тут вообще должно быть UB. reinterpret_cast явно оставляет биты на месте, лишь говоря компилятору интерпретировать их по-другому. Если исходные и конечные сущности бит в бит одинаковы размером, то какие проблемы. А если нет, то компилятор сам проинформирует о несоответствии. Другое дело всякие static_cast и C-style приведение типов. Это явное создание новой сущности, и в этом процессе пространство для самодеятельности конечно огромное.
Э не. Поле (а) инициализируется потоком из временной лямбы. Возможно даже std::thread не нужен, лень проверять. Сама лямбда имеет доступ к головному классу и его полю (b).
Ну про это можно молодёжи затирать. А мы тёртые калачи, жизнь видали...
Это выглядит совершенно нормально. Стандарт ни разу не обещал многопоточную целостность для STL контейнеров.
Зачем вы вообще создаёте лишний поток, который создаёт потоки? Ничего кроме лишнего геморроя это не принесёт.
Создание потоков вообще не лучшая практика. Нынче принятно всё лопатить в thread pools. Либо используйте более высокоуровневые примитивы типа future/promise. Они как минимум берут на себя все эти проблемы многопоточной синхронизации.
Это работает только потому что эти функции создают барьеры. Атомарное изменение переменной индекса тут "постольку поскольку". Можно положить thread в память и честно атомарно инкрементировать индекс, и чтец его целым прочитает. Только вот thread в память ещё не доехал...
Скорее похоже на симптоматику СДВГа. Т.е. опять-таки, гены.
Нельзя вот так просто взять и синхронизировать через глобальную перененную...
Все это понимают, но собеседование проводит такой же разработчик.
Нынче в тренде построить не ТЦ, а ЖК в льготную ипотеку.
Другая модель поведения предполагает лишение всяких плюшек в виде смартфонов и т.п. Ему это надо?
А что последствия? Думаете этот контингент пугает тюрьма? Не только не пугает. Наоборот, у них это что-то вроде ачивки как у айтишника съездить в США в Гугле поработать.
А что при личном разговоре? Там поди сидит такой же сеньйор с такими же личными установками что чем больше лычек, тем выгоднее отличаешься на фоне остальных.
Давно прошли времена когда можно было даже целевого языка программирования не знать.
Т.е. вы правда считаете что перед FAANG все должны расшаркиваться и специальное резюме делать?
Скорее даже не "держится", а ребёнок строит из себя паиньку, благоразумно считая что быковать сейчас против родителей не совсем рационально.
У меня конечно IQ не 80, но зачем нужны сложные способы решения проблем?
It depends. Если после первой рюмки не пошёл по стопам отца, значит ему попросту повезло что гены алкогольной зависимости у него не сложились.