А что не так с лямбдами в C++? Под словом "реализовано" Вы имеете ввиду синтаксис языка или то, в какой код лямбды компилятор разворачивает? О чем речь?
Да можно, конечно, но может понадобиться подбор резисторов, чтобы нажатие двух каких-то кнопок не сработало как нажатие двух других. В рамках такого плеера с 8 кнопками, конечно, можно было и 8 резисторов на два пина повесить. Тем более, что мне пока что одновременные нажатия не понадобились.
Кооперативная разработка ведётся через систему контроля версий вроде SVN или GitHub, например. Но зачем при каждой компиляции все исходники по сети гонять? Или у Вас какие-то библиотеки лежат на сетевом диске на сервере и компилируются прямо оттуда?
Если Вы про способ с резисторами, то да, можно. Этот проект в чём-то учебный - хотелось самому разобраться, как работать со сдвиговыми регистрами. Я в тексте написал, что так можно и одновременные нажатия кнопок обрабатывать, что с резисторами не получится. И так можно и сотню кнопок обрабатывать, если регистры каскадом подключить.
Я не говорил Вам ни слова про то, что кто-то что-то должен. Я просто вижу, что у Вас все больше преобладает "мне так не нравится", а не здравый смысл. Этак можно договориться до того, что во всем комитете по развитию C++ сидят одни... странные люди, которые не понимают, что делают и зачем.
А если по делу - никто не спорит с тем, что иногда от auto можно поиметь геморрой. Но плюсы применения auto, на мой взгляд, перевешивают минусы, которых гораздо меньше. Главный плюс - экономия времени при написании программы. Ну правда, неужели вместо auto it = v.begin() удобнее каждый раз писать полную расшифровку вроде std::vector<...>::iterator... ?
Так оно устроено там где я работаю. Примите это как данность.
Вы даете рекомендации для кого угодно, или для тех, кто загнан в какие-то специфические условия, вроде как у Вас на работе? Есть же способы не тянуть код по сети при каждой компиляции. Я понимаю, что у Вас так это устроено - а почему оно именно так? Кто-то один раз так настроил N лет назад, и перенастроить некому? Или руководитель проекта не знает, как можно сделать по-другому?
Не совсем понял сравнение с макросом. Вы можете в макрос засунуть результат вычисления какой-нибудь функцией? В последних версиях можно даже результат работы алгоритма из STL на этапе компиляции вычислить. Макросы такое позволяют делать?
Не помню, в каком именно видео это было - Антон Полухин приводил пример, когда можно при обходе всех элементов std::map в цикле for(auto& val : map) вместо auto написать явно тип элемента, в котором забыть написать слово const. И получить копирование каждого элемента в цикле, даже несмотря на то, что написано &
Если кратко, PSG - это файл с дампом значений всех регистров чипа AY, передаваемых в него в процессе воспроизведения. Например, плеер Сергея Бульбы AYEmul умеет любые chiptune-файлы, которые умеет играть, преобразовывать в этот формат.
Есть единица давления, в которой как бы килограммы присутствуют, но тогда это называется "килограмм-сила". Т.е. единица давления - кгс/м2, а не просто кг/м2:
В статье про это написано: "Низкий КПД паровых машин, не превышающий 10%, и послужил для них приговором". ИМХО, здесь слово "приговор" вполне к месту, и как раз означает, что этот недостаток перевесил и прочие недостатки, и преимущества.
А что не так с лямбдами в C++? Под словом "реализовано" Вы имеете ввиду синтаксис языка или то, в какой код лямбды компилятор разворачивает? О чем речь?
Да можно, конечно, но может понадобиться подбор резисторов, чтобы нажатие двух каких-то кнопок не сработало как нажатие двух других. В рамках такого плеера с 8 кнопками, конечно, можно было и 8 резисторов на два пина повесить. Тем более, что мне пока что одновременные нажатия не понадобились.
А ещё можно использовать внутри такого цикла структурное связывание, и обращаться к полям элемента не через .second, а по осмысленному названию.
Вы не понимаете по названию,что возвращает функция begin из контейнера настолько, что готовы каждый раз это расшифровывать?
Зачем себя загонять в рамки чего-то, если можно этого не делать?
Кооперативная разработка ведётся через систему контроля версий вроде SVN или GitHub, например. Но зачем при каждой компиляции все исходники по сети гонять? Или у Вас какие-то библиотеки лежат на сетевом диске на сервере и компилируются прямо оттуда?
Если Вы про способ с резисторами, то да, можно. Этот проект в чём-то учебный - хотелось самому разобраться, как работать со сдвиговыми регистрами. Я в тексте написал, что так можно и одновременные нажатия кнопок обрабатывать, что с резисторами не получится. И так можно и сотню кнопок обрабатывать, если регистры каскадом подключить.
Я не говорил Вам ни слова про то, что кто-то что-то должен. Я просто вижу, что у Вас все больше преобладает "мне так не нравится", а не здравый смысл. Этак можно договориться до того, что во всем комитете по развитию C++ сидят одни... странные люди, которые не понимают, что делают и зачем.
А если по делу - никто не спорит с тем, что иногда от auto можно поиметь геморрой. Но плюсы применения auto, на мой взгляд, перевешивают минусы, которых гораздо меньше. Главный плюс - экономия времени при написании программы. Ну правда, неужели вместо auto it = v.begin() удобнее каждый раз писать полную расшифровку вроде std::vector<...>::iterator... ?
Вы даете рекомендации для кого угодно, или для тех, кто загнан в какие-то специфические условия, вроде как у Вас на работе? Есть же способы не тянуть код по сети при каждой компиляции. Я понимаю, что у Вас так это устроено - а почему оно именно так? Кто-то один раз так настроил N лет назад, и перенастроить некому? Или руководитель проекта не знает, как можно сделать по-другому?
Уже ответили про современные IDE, которые все подсказывают. Но и даже без них - кто мешает переменную назвать так, чтобы было понятно, что это map?
Не совсем понял сравнение с макросом. Вы можете в макрос засунуть результат вычисления какой-нибудь функцией? В последних версиях можно даже результат работы алгоритма из STL на этапе компиляции вычислить. Макросы такое позволяют делать?
И да, строгая типизация - это весьма важно.
Не могу понять - а чем constexpr не угодил?
Не помню, в каком именно видео это было - Антон Полухин приводил пример, когда можно при обходе всех элементов std::map в цикле for(auto& val : map) вместо auto написать явно тип элемента, в котором забыть написать слово const. И получить копирование каждого элемента в цикле, даже несмотря на то, что написано &
Я решил не цитировать то, что написано в описании первого плеера, на который я дал ссылку:
https://habr.com/ru/articles/392625/
Если кратко, PSG - это файл с дампом значений всех регистров чипа AY, передаваемых в него в процессе воспроизведения. Например, плеер Сергея Бульбы AYEmul умеет любые chiptune-файлы, которые умеет играть, преобразовывать в этот формат.
Вот здесь про более простой проект:
https://habr.com/ru/articles/449596/
А здесь перевод руководства по SFML, правда, 2016 год:
https://habr.com/ru/articles/278977/
Есть единица давления, в которой как бы килограммы присутствуют, но тогда это называется "килограмм-сила". Т.е. единица давления - кгс/м2, а не просто кг/м2:
http://www.decoder.ru/index.php3?ida=10
Сама сила в любом случае измеряется в ньютонах :-)
Опубликовал продолжение про генератор огибающей.
В статье про это написано: "Низкий КПД паровых машин, не превышающий 10%, и послужил для них приговором". ИМХО, здесь слово "приговор" вполне к месту, и как раз означает, что этот недостаток перевесил и прочие недостатки, и преимущества.
Об этом и речь - нельзя сравнивать давление и силу. Силу надо приложить к площади, чтобы получилось давление.