mefest
Крылатый
Можно.
Крылатый
Да.
Nik
У нас просто с++11 только недавно завезли...
Крылатый
/* File: old cpp kludges */ namespace std { auto apply(...) { ... } }
Крылатый
Всегда так делаю.
Крылатый
Даже при наличии C++20
Крылатый
Ведь будет C++22!
mefest
Ведь будет C++22!
Не будет же
mefest
Разве не c++23 должен быть?
Крылатый
А хз.
Dr. Friedrich
Я юзаю C++14, потому что проект начинал ещё до выхода C++17.
Dr. Friedrich
А то бы юзал C++17, отчего нет? Если начальство разрешает, надо брать самое лучшее.
Dr. Friedrich
(ну или если ты сам и есть начальство, хе-хе)
Nik
То чувство, когда проект начинался где-то в конце 90х...
Dr. Friedrich
Ну, его можно и проапгрейдить.
Nik
Можно, наверн
Dr. Friedrich
Комитет старается специально ради тебя, чтоб тебе не было больно апгрейдиться на новые версии языка.
Nik
Но так-то я джун, я ничего не решаю.
Berkus
я как-то брал древний проект виндовый и перепиливал его на c++11 - в целом изменений было не слишком много и оно даже завелось
Dr. Friedrich
Джун может со старшим обсудить перспективы обновления проекта, а старший уже может поднять вопрос перед теми, кто имеет решающий голос.
Berkus
ну да, ну да
Dr. Friedrich
Мне кажется, именно в зарезервированном смысле он их и использует.
Dr. Friedrich
Ну то есть да, этот код *должен* сломаться, когда появится std::apply.
Nikita
Комитет старается специально ради тебя, чтоб тебе не было больно апгрейдиться на новые версии языка.
Но вот с апгрейдами vs нередко всякие конфузы встречаются, независимо от пожеланий комитета
Dr. Friedrich
Давай, мне интересно было бы почитать.
Dr. Friedrich
Dr. Friedrich
Не обязательно.
Dr. Friedrich
С обновлением VS может обновиться много сопутствующего барахла — MFC там какой-нибудь или ATL.
Dr. Friedrich
А в новом ATL могут убрать или сломать фичи старого. Редко, но бывает.
Dr. Friedrich
(не спрашивайте, откуда я знаю)
Крылатый
Почему нельзя?
Крылатый
Как сказано было выше, оно сломается при апдейте и можно будет просто удалить свою реализацию.
Berkus
кроме тех случаев когда это можно да
Dr. Friedrich
Формально Александр прав. Размещение пользовательского кода в std:: это плохо, в стандарте это указано.
Nikita
Я уже рассказывал, что у нас в проекте было 4 весрии буста, которые потом долго и мучительно изводили? С тех пор для 3rd-party нужны веские основания
Крылатый
Можно завернуть в #ifdef
Крылатый
=)
Dr. Friedrich
Трижды виновны, ага.
Dr. Friedrich
Я верю, что все три раза были какие-то причины для того, чтобы вносить такую вот дивергенцию в проект. Но это технический долг, и рано или поздно его придётся оплатить.
Nikita
Появлялись не только новые баги, но и новые фичи. Фичи хотелось, а баги — нет
Berkus
Формально Александр прав. Размещение пользовательского кода в std:: это плохо, в стандарте это указано.
This is one of these situations where declaring something in namespace std is legal. namespace std { template <> struct is_error_code_enum<FlightsErrc> : true_type {}; } кеке
vladislav
@zamazan4ik так ты его в итоге убедил? Есть какие-то подвижки? Чего предпринимал для достижения цели?
Berkus
пользовательский код в std!
Dr. Friedrich
@zamazan4ik так ты его в итоге убедил? Есть какие-то подвижки? Чего предпринимал для достижения цели?
А что ты тут сделаешь? Применяй инженерный подход: анализируй проблему, собирай список преимуществ и недостатков своего решения, обсуждай с руководством или коллегами.
Dr. Friedrich
А дальше либо вы вместе придёте к выводу, что твоё решение плохое, либо запланируете его применение.
vladislav
@zamazan4ik так ты его в итоге убедил? Есть какие-то подвижки? Чего предпринимал для достижения цели?
2 сезон 1 серия "Джун против тимлида". Новые герои, новые коммиты, новые баги и фичи, чем же всё закончится?
Dr. Friedrich
Проблем_решено += 1;
Ruslan
/stat@combot
Dr. Friedrich
(тот же самый инженерный подход, между прочим: недостатки от нахождения на проекте перевесили преимущества)
vladislav
А что ты тут сделаешь? Применяй инженерный подход: анализируй проблему, собирай список преимуществ и недостатков своего решения, обсуждай с руководством или коллегами.
Это ещё зависит от типа человека, мне благо повезло работать в коллективе без, так скажем, предвзятости в этом плане.
Dr. Friedrich
Ты там один чтоли его пишешь? :)
Dr. Friedrich
👍
vladislav
победа
Berkus
ну если сам с собой не можешь спорить, найди кого-нибудь!
Igor
ты ж вроде говорил что не удаётся убедить начальство на внедрение каких-то новых технологий, ибо временнОй бюджет поджимает )
Igor
а, вспомнил, там про ковыряние в CI было
Andrew
ребят, а кто знает хороший парсер\билдер JSON ? Желательно плюсы.
Andrew
о, уже второй раз советуют. Видимо, действительно хороший
Igor
https://github.com/miloyip/nativejson-benchmark выбирай по вкусу )
Berkus
ну можешь взять dropbox/json11
Berkus
rapidjson самый быстрый, но и жирноват при этом
Andrew
ну вообще, rapidjson серьёзней всех выглядит
Andrew
даже модель нарисовали
Berkus
ну для моих целей один хедер удобнее целой телеги которую надо отдельно собирать
Andrew
ну, у меня проект под линукс. Мне только зависимости прописать
Andrew
да слинковать
Aidar
Люди где почитать про release sequence, тоесть почему read-modify-write после release не требует release?
Aidar
Супапро не предлагать
Aidar
Да был
Aidar
Там написано что да read-modify-write входит в release sequence
Aidar
И все
Andrew
что это такое? в первые слышу
Andrew
ох ебать круто
Andrew
а я по старинке deb пакеты делаю
Aidar
Но дебпакеты лучше же?