Anatoly
Толстая книга? :)
на жизнь хватит
Крылатый
gsomix
@winged_pegasus @co4uhutejib Спасибо.
gsomix
http://shtonda.blogspot.com/2015/12/modern-c-plus-plus-gottschling.html
Выглядит как то, что мне нужно. Спасибо!
Ivan
Сегодня впервые увидел цепочку из а+= в+= с+= ... Ребята, вы так пишете код?
Berkus
нет конечно
Berkus
есть примерно никогда случаев когда это оправдано
Ivan
Спасибо.
Ivan
И я того же мнения
Ivan
У меня нет времени проверить. Но порядок вызовов этих операторов можно упороть?
Ivan
Он всегда справа налево?
Vladislav
Сегодня впервые увидел цепочку из а+= в+= с+= ... Ребята, вы так пишете код?
Да, конечно - я ведь ненавижу всех, кто будит мейнтейнить мой код
Berkus
сопровождать
Ivan
Я как раз на поддержке.
Ivan
Ахаха
Vyacheslav
)
Berkus
Я как раз на поддержке.
Доктор, это вам!
Ivan
Я по-быстрому создал структуру, переопределил operator+=(), вроде сломать не получилось, и оно вызывается справа налево всегда.
Ivan
Я не смог придумать случай когда такая запись опасна
Nik
Ну вы же не плюетесь от цепочки вызовов в духe сout « "foo" « "bar" « endl;
Ivan
Тут другое дело)
Крылатый
Код можно оборачивать в `
Ivan
И да, длинные цепочки тоже трудно поддерживать
Крылатый
И будет краисво: cout << "foo" << "bar" << endl;
Ivan
Особенно если аргументы функций тернарники и лямбды
Крылатый
Цепь цепи рознь.
Ivan
Я против более трёх a().b().c()
Nik
Ivan
Не) это норм)
Berkus
а как же builder pattern?
чят по джаве не тут )
Nik
чят по джаве не тут )
А что, в плюсы уже именованые аргументы завезли?
Ivan
Неа
Vyacheslav
Сегодня впервые увидел цепочку из а+= в+= с+= ... Ребята, вы так пишете код?
только непонятно, где эта цепочка может пригодиться?
Vyacheslav
скорее запутает
Nik
Тогда какие альтернативы билдеру?
Крылатый
Монады, очевидно.
Berkus
я пользуюсь, немного ограниченно но мне нравится
Ivan
Покажи
Ivan
И пох на порядок?
Nik
сatch(sarcasm&) { ignore(); }
Berkus
Покажи
auto backoff = make_backoff((_start_delay = 0ms, _min_delay = 0ms, _max_delay = 2s, _max_attempts_time = 15s));
Berkus
у make_backoff что-то около 8 или 9 аргументов
Berkus
остальные дефолтятся нужными значениями
Nik
Вот это поворот
Nik
Думаю тут нужны объяснения
Berkus
Думаю тут нужны объяснения
http://www.boost.org/doc/libs/1_64_0/libs/parameter/doc/html/index.html
Ivan
В си можно было так инициализировать структуры: ideone.com/6QOL1j
Ivan
Это, кстати, один из случаев когда С++ обратно не совместим с Си
Ivan
Я так и сказал
Крылатый
Оно компактней гугла, это уже плюс.
✙ Fatum ✙
ребят, а как множественные флаги компилятора в смаке прописать?
✙ Fatum ✙
et(SOURCE_FILES main.cpp) set(CAFFE_COMPILE_FLAGS "-DCPU_ONLY") set(OPENCV_COMPILE_FLAGS "-DUSE_OPENCV") set(libglog "/usr/lib/x86_64-linux-gnu/libglog.so") set(libprotobuf "/usr/lib/x86_64-linux-gnu/libprotobuf.so") add_definitions(${CAFFE_COMPILE_FLAGS} ${OPENCV_COMPILE_FLAGS})
✙ Fatum ✙
у меня сейчас так, но не видит USE_OPENCV
Pavel
попробуй add_definitions("${CAFFE_COMPILE_FLAGS} ${OPENCV_COMPILE_FLAGS}")
Berkus
add_definitions() не надо использовать
Berkus
есть target_compile_definitions()
Berkus
спасибо, так работает)
если хочешь без кавычек то надо в list-format через точку с запятой
✙ Fatum ✙
есть target_compile_definitions()
в чем разница?...я знаю, нужно загуглить, но у меня билд запущен и все ядра в печали
Berkus
в чем разница?...я знаю, нужно загуглить, но у меня билд запущен и все ядра в печали
add_definitions() засирает глобальное пространство определений target_compile_definitions() задает их только для конкретного таргета
Pavel
target_compile_definitions - на конкретный таргет дефсы add_definitions - на все таргеты
Vlad
Ivan
Это где?
Aidar
✙ Fatum ✙
ахахахахахах
✙ Fatum ✙
2 чая этому господину
Vladislav
Какому сумрачному гению это пришло в голову?
Grigory
всем привет, не подскажите есть ли возможность в clion использовать thread-specific breakpoint для gdb?
Grigory
типа break main.cpp:8 thread 2
Grigory
только не из консоли gdb