@ProCxx

Страница 729 из 2477
Michael
01.04.2017
21:32:18
еще опытные чуваки подскажите плз

есть какой-нибудь красивый паттерн для этого

if (subs.find(gf.Filename) == subs.end()) { subs.emplace(gf.Filename, sub_content()); } sub_content &sc = subs[gf.Filename];

subs - это std::map

Google
Michael
01.04.2017
21:34:03
в шарпах есть trygetvalue например

а тут что?

Alex Фэils?︙
01.04.2017
21:41:21
В смысле откуда знаешь, мне нужно вшить питон в .exe
давай конкоетнее к делу, в чем соьираешь, какой лог сообщений

Michael
01.04.2017
21:41:51
Есть emplace_if
найс, спасибо.

из други вариантов из доков извлек следующие альтернатив: - проверять существование count, а не find; - использоват map::at() и словить эксепшн

Есть emplace_if
кстати, где он есть? в стандартном с++ не вижу

а думал такое очевидное не заметил...

Есть emplace_if
в общем ты мне подал идею, напишу этот дефайн

Gregory
01.04.2017
21:44:40
оО дефайн

Michael
01.04.2017
21:44:57
а чо в с++ принято использоать в роли макросов?

Alex Фэils?︙
01.04.2017
21:45:31
Шаблоны

Michael
01.04.2017
21:45:41
нет спасибо not worth

Google
Alex Фэils?︙
01.04.2017
21:45:52
Rusteros
01.04.2017
21:45:58
макросы лучше вообще не юзатьб

хе

Michael
01.04.2017
21:46:07
Ошибся. есть try_emplace
иии все еще нет.

где есть?

ссылку на док плз

Gregory
01.04.2017
21:47:58
нет спасибо not worth
1 апреля уже закончилось

/dev
01.04.2017
21:48:06
нет спасибо not worth
типобезопасность, compile-time тьюринг-полнота, чем not worth?

Michael
01.04.2017
21:48:21
угу, это вещи из компьютерных наук

а не из реального мира

стабильность и сейфовость тоже надо поддерживать не в ущерб трению и комплексити

Gregory
01.04.2017
21:48:51
ой

ой

/dev
01.04.2017
21:49:07
их реального мира, если дебажишь макросы, высока вероятность сесть за нанесение тяжких телесных автору дефайнов

Michael
01.04.2017
21:49:28
но если тебе сейчас нужно дважды повторить длинную неприятную строку которую сложно читать

ты будешь строить тимплейт

или напишешь макрос

или ctrl+c, ctrl+v

выбирай

Alex Фэils?︙
01.04.2017
21:49:42
где есть?
http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=Try_emplace

Google
Alexander
01.04.2017
21:49:45
или напишешь макрос
а можно пример плиз?

Michael
01.04.2017
21:50:03
забавно,но тут нет

since C++17

ясн

Alex Фэils?︙
01.04.2017
21:50:34
http://www.cplusplus.com/reference/map/map/
У них устарела дока( хотя сне их сайт больше нравится

Michael
01.04.2017
21:50:46
Alexander
01.04.2017
21:51:02
таких строк, которые вы дефанами заменяете

Michael
01.04.2017
21:51:14
таких строк, которые вы дефанами заменяете
#define sym_to_wstring(mrb, irep, index) utf8_to_wstr(mrb_sym2name(mrb, irep->syms[index]))

/dev
01.04.2017
21:51:51
макросы лучше использовать там, где без них совсем никак

compiler-specific, build-specific, __FILE__, __LINE__

Michael
01.04.2017
21:53:04
да понятн

но это тоже из области идеала

мне кажется надо все-таки балансировать время, удобство и правильность

мне даже не кажется, это очевидно, что компромисс нужен

#define sym_to_wstring(mrb, irep, index) utf8_to_wstr(mrb_sym2name(mrb, irep->syms[index]))
что я могу сделать с этим дефайном? объявить вместо него функцию? ну да, вполне

/dev
01.04.2017
21:54:14
использование макроса не по делу — накопление технического долга для долгоживущих проектов это критично

Michael
01.04.2017
21:54:39
да, конечно, но и непрерывный рефакторинг тоже существует

я за итеративный подход к разработке, да и вообще это модно

Google
Michael
01.04.2017
21:55:14
снимает когнитивную нагрузку хуе-мое это вот все

главное что я идиотский дефайн выше могу рефакторнуть в функцию одним движением пальца и ничто не пострадает...

Gregory
01.04.2017
22:25:30
зачем писать вообще темплейтные функции? мб просто дефайнить? ) (sarcasm)

Маришка
01.04.2017
22:25:34
Мингв

Ойой

Msvc

Taylor
01.04.2017
22:31:50
Алекс, я скучал. Телега роднее ВК.

?

Alex Фэils?︙
01.04.2017
22:39:14
Erdni
01.04.2017
22:40:09
ой вэй , 1024 участников пропустили

Taylor
01.04.2017
22:41:09
Тут боты есть?

Бросайте батлера))0)

Alex Фэils?︙
01.04.2017
22:41:55
Есть батлер

Taylor
01.04.2017
22:42:03
Блин вот вы прошляпили :c

Alex Фэils?︙
01.04.2017
22:42:17
Да было уже 1024

Тут оно послелние три дня скачет

Gregory
01.04.2017
22:46:12
ага, давай еще поперегибаем
ну вот опасаюсь не перегибаете ли вы, когда видишь намерение делать макрос который симулирует поведение try_emplace

Google
Michael
01.04.2017
23:03:14
что ж поделать!

ввиду невероятно дружелюбной и удобной системы деклараций и дефиниций в языке с++

когда тебе надо что-то у тебя сечйас что-то заработало

ты пишешь макрос, а не пытаешься объявить метод в трех файлах чертыхаясь каждый раз когда надо попроавить сигнатуру

зачем третий файл? да просто так

а для того чтобы это было красиво на следующий день это будет отрефакторено

когда уже вся логика понятна и работает.

Michael
01.04.2017
23:11:45
да нет, просто немного другой рабочий процесс

пишешь хуйню - спишь - просыпаешься, пьешь валокордин - рефакторишь. снова пишешь хуйню...

довольно эффективно

/dev
01.04.2017
23:12:49
ну, если релизиться не надо каждую неделю, то можно не писать хуйню, чтоб переделывать

Michael
01.04.2017
23:13:23
когда уже основные паттерны в проекте заложены и понятны тогда и писать хуйню не понадобится

Страница 729 из 2477