Dogma
а откуда знаешь что статически
В смысле откуда знаешь, мне нужно вшить питон в .exe
Dogma
Дабы не заставлять людей таскать его с собой
Dogma
Бл2д же делаем командой небольшой хддд
Micktu 😬
еще опытные чуваки подскажите плз
Micktu 😬
есть какой-нибудь красивый паттерн для этого
Micktu 😬
if (subs.find(gf.Filename) == subs.end()) { subs.emplace(gf.Filename, sub_content()); } sub_content &sc = subs[gf.Filename];
Micktu 😬
subs - это std::map
Micktu 😬
в шарпах есть trygetvalue например
Micktu 😬
а тут что?
🦥Alex Fails
В смысле откуда знаешь, мне нужно вшить питон в .exe
давай конкоетнее к делу, в чем соьираешь, какой лог сообщений
Micktu 😬
Есть emplace_if
найс, спасибо.
Micktu 😬
из други вариантов из доков извлек следующие альтернатив: - проверять существование count, а не find; - использоват map::at() и словить эксепшн
Micktu 😬
Есть emplace_if
кстати, где он есть? в стандартном с++ не вижу
Micktu 😬
а думал такое очевидное не заметил...
Micktu 😬
Есть emplace_if
в общем ты мне подал идею, напишу этот дефайн
Gregory
оО дефайн
Micktu 😬
а чо в с++ принято использоать в роли макросов?
🦥Alex Fails
Шаблоны
Micktu 😬
нет спасибо not worth
Anonymous
макросы лучше вообще не юзатьб
Anonymous
хе
Micktu 😬
Ошибся. есть try_emplace
иии все еще нет.
Micktu 😬
где есть?
Micktu 😬
ссылку на док плз
Gregory
нет спасибо not worth
1 апреля уже закончилось
Nikita
нет спасибо not worth
типобезопасность, compile-time тьюринг-полнота, чем not worth?
Micktu 😬
угу, это вещи из компьютерных наук
Micktu 😬
а не из реального мира
Micktu 😬
стабильность и сейфовость тоже надо поддерживать не в ущерб трению и комплексити
Gregory
ой
Gregory
ой
Nikita
их реального мира, если дебажишь макросы, высока вероятность сесть за нанесение тяжких телесных автору дефайнов
Micktu 😬
но если тебе сейчас нужно дважды повторить длинную неприятную строку которую сложно читать
Micktu 😬
ты будешь строить тимплейт
Micktu 😬
или напишешь макрос
Micktu 😬
или ctrl+c, ctrl+v
Micktu 😬
выбирай
🦥Alex Fails
где есть?
http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=Try_emplace
Micktu 😬
забавно,но тут нет
Micktu 😬
since C++17
Micktu 😬
ясн
🦥Alex Fails
http://www.cplusplus.com/reference/map/map/
У них устарела дока( хотя сне их сайт больше нравится
Micktu 😬
пример чего?
Micktu 😬
#define sym_to_wstring(mrb, irep, index) utf8_to_wstr(mrb_sym2name(mrb, irep->syms[index]))
Nikita
макросы лучше использовать там, где без них совсем никак
Nikita
compiler-specific, build-specific, __FILE__, __LINE__
Micktu 😬
да понятн
Micktu 😬
но это тоже из области идеала
Micktu 😬
мне кажется надо все-таки балансировать время, удобство и правильность
Micktu 😬
мне даже не кажется, это очевидно, что компромисс нужен
Micktu 😬
#define sym_to_wstring(mrb, irep, index) utf8_to_wstr(mrb_sym2name(mrb, irep->syms[index]))
что я могу сделать с этим дефайном? объявить вместо него функцию? ну да, вполне
Nikita
использование макроса не по делу — накопление технического долга для долгоживущих проектов это критично
Micktu 😬
да, конечно, но и непрерывный рефакторинг тоже существует
Micktu 😬
я за итеративный подход к разработке, да и вообще это модно
Micktu 😬
снимает когнитивную нагрузку хуе-мое это вот все
Micktu 😬
главное что я идиотский дефайн выше могу рефакторнуть в функцию одним движением пальца и ничто не пострадает...
Gregory
зачем писать вообще темплейтные функции? мб просто дефайнить? ) (sarcasm)
Dogma
Мингв
Dogma
Ойой
Dogma
Msvc
Anonymous
Алекс, я скучал. Телега роднее ВК.
Anonymous
😊
🦥Alex Fails
Nyah
ой вэй , 1024 участников пропустили
Anonymous
Тут боты есть?
Anonymous
Бросайте батлера))0)
🦥Alex Fails
Есть батлер
Anonymous
Блин вот вы прошляпили :c
🦥Alex Fails
Да было уже 1024
🦥Alex Fails
Тут оно послелние три дня скачет
Gregory
ага, давай еще поперегибаем
ну вот опасаюсь не перегибаете ли вы, когда видишь намерение делать макрос который симулирует поведение try_emplace
Micktu 😬
что ж поделать!
Micktu 😬
ввиду невероятно дружелюбной и удобной системы деклараций и дефиниций в языке с++