Vergil
Может это телега дурила конечно. Может это особенность мак-версии. Я хз.
на маках и афонях точно можно копировать текст в телеге. Никогда не возникало проблем.
Pepe 🐸
как в квадрат возвести все элементы массива двумерного?
Pepe 🐸
как в квадрат возвести все элементы массива двумерного?
любого, стандартного array или из любой библиотеки популярной
Pepe 🐸
Std::transform ?
оно векторизованно/параллелизованно?
Pepe 🐸
надо как можно быстрее сделать
Igor
Но ты можешь разные части массива в разных потокак квадратить, в чем проблема то?
Pepe 🐸
Но ты можешь разные части массива в разных потокак квадратить, в чем проблема то?
ну, что это я сам должен функцию писать, если нет стандартного то так и сделаю
Igor
С с++17 поддерживает ExecutionPolicy, где можно указать std::experimental::parallel::parallel_execution_policy например
Igor
Ну коль нельзя, спрошу так, без контекста: у кого-нибудь есть пример показывающий разницу в производительности в случае если мы попадаем в cacheline и когда не попадаем?
в https://www.youtube.com/watch?v=NH1Tta7purM точно упоминался кэш и советы держать его прогретым, и кажется было сравнение по скорости, но точно не помню(
Pepe 🐸
А что на счет сторонних библиотек?
не знаю, может в бусте есть может в айгене
Pepe 🐸
но я не знаю, в гугле так просто такого вопроса нет
Pepe 🐸
спасибо, посмотрю это
Michael
привет)
Michael
а подскажите чат по Си, если есть такой
Andrei
это он в том числе. также есть @supapro
Torteek
всем доброго дня. подскажите пожалуйста, насколько популярна в проектах библиотека логирования Log4xx? Ну это брат джавовского Log4j -)
Torteek
или есть другая общепринятая библиотека для организации ведения логов?
Anatoly
или есть другая общепринятая библиотека для организации ведения логов?
посмотри https://github.com/gabime/spdlog , там есть сравнение с другими логгерами
Torteek
спасибо большое
Alexey
Да, смущает. Но по стандарту языка это не ошибка. Теперь вопрос - как выжить без варнингов в данном случае?
Alexey
goto Rust 😊
Артем
ну на крайний случай, можно выключить варнинги
Ildar
надо -Werror использовать, тогда варнинг будет ошибкой и не будет компиляться
Alexey
надо -Werror использовать, тогда варнинг будет ошибкой и не будет компиляться
Это слишком компиляторозависимо ведь. Это обсуждали выше.
Ildar
ага, уже увидел
Berkus
ну расставь, тебе жалко что ли
Anton
Так можно же разный уровень варнингов выбрать
Alexey
То есть, по хорошему, выход тут один - берем и руками явным образом перечисляем в опциях компилятора те варнинги которые нам полезны. Всё остальное - отключаем.
Berkus
-Wall -Wextra -Werror -pedantic уии
Alexey
-Wall -Wextra -Werror -pedantic уии
Это, кстати, включит не все варнинги 😊
Alexey
Еще есть -Weffc++, но и это включит не всё.
Berkus
Это, кстати, включит не все варнинги 😊
зависит от компилятора, и да, если нужны какие-то еще - пожалуйста, мне и этих хватает
Berkus
-Weffc++ возможно будет полезно
Alexey
зависит от компилятора, и да, если нужны какие-то еще - пожалуйста, мне и этих хватает
Эти например флаги не сгенерят варнинг на тему отсутствия return'a
Alexey
Зато нагенерят кучу довольно бесполезных варнингов.
Alexey
отсутствия ретурна где именно?
В функции которая не void
Anton
Msvc по дефолту без return ошибку выдает
Anton
В не void функциях
Alexey
Дааа.. А потом мы идем в msvs и получаем, что там варнинги вообще другие. Да и язык оно понимает иначе.
Alexey
По стандарту языка.
Berkus
В функции которая не void
давай я скажу что ты пиздишь, λ clang++ -Wall -Wextra -Werror -pedantic file.cpp -c file.cpp:1:10: error: control reaches end of non-void function [-Werror,-Wreturn-type] int f() {} ^ 1 error generated.
Anton
Но при этом можно написать функцию которая выдаст и варнинг и упадет в рантайме )
Berkus
Дааа.. А потом мы идем в msvs и получаем, что там варнинги вообще другие. Да и язык оно понимает иначе.
кто ж виноват что msvs не понимает с++ по стандарту? правильно, майкрософт виноват
Michael
божественный int, не?
Berkus
злое сишное легаси, видимо
Anton
{ if (blabla) return 1; } выдаст варнинг 😂
Michael
с педантик оно и не такое выдаст
Anton
Педантик это гццшная тема
Stanislav
и они его переписывают
Berkus
это фейл
Berkus
почти как парсить хтмл регекспами
Alexey
парсить с++ регекспами
Berkus
они признались что у них парсер на yacc
взяли бы шланговый и не ебли мозги
Igor
Implementing two-phase name lookup required fundamental changes in MSVC’s architecture. The biggest change was to write a new recursive descent parser to replace the YACC-based parser that we’ve used for over 35 years. (https://blogs.msdn.microsoft.com/vcblog/2017/09/11/two-phase-name-lookup-support-comes-to-msvc/)
Igor
http://bitsquid.blogspot.ru/2011/10/caring-by-sharing-header-hero.html - полезная тула для оптимизации времени компиляции - для каждого хедера показывает откуда и сколько раз он включается и оценивает его суммарный вклад в строчках кода.
Igor
чисто подвиндовая штука?
Да, к тому же написанная на C# - но ничего сложного там нет, я думаю переписать легко. Интересно послушать про другие похожие тулы если кто встречал.
Igor
чисто подвиндовая штука?
Был неправ, судя по исходникам должна работать на OSX через mono.
Burado
Ребят, есть вопрос. Есть несколько девайсов, которые выступают серверами в локальной сети с рандомным портом. И есть клиент, который должен создать список найденных серверов. Сам вопрос в этом: как мне найти эти сервера? Подключаться через [1;MAX_PORT] портов и проверять, есть ли это сервером моего приложения?
Anonymous
Если нет — только, как ты сказал.
Burado
Оу, спасибо тогда.
Alexey
пусть по UDP мультикастят пакетики с нужной инфой внутри.
Andrei
в лямбда функции захват происходит при создании самой лямбда, так? и если создавать лямбду каждый раз в цикле и что-то захватывать по значение, а это значение будет каждый раз менять, то при вызове у лямбды будет все время новое значение этой переменной?
Pavel
да
Kirill
захват у лямбды это конструктор функтора. Каждый раз создавая замыкание, по факту создаешь функтор, которому в конструктор пихаешь захват. Так что да, сколько раз создал лямбду столько раз скопировал в нее по значению что нужно