kitsu
А std::fill обладает strong safety guarantee?
Egor
Это было бы очень-очень странно.
Egor
Потому что он меняет контейнер
kitsu
Казалось бы он вроде как может выкинуть bad_alloc, но вроде бы и аллоцировать ему непонятно незачем
Egor
Ну ещё operator= для элемента может что-нибудь кинуть
Egor
И если так — то упс.
kitsu
а, верно а если уверены, что не бросает?
Egor
Если и операции с итераторами не бросают, то это похоже noexcept. Но я не уверен, что в стандарте прописано.
kitsu
а, в целом итератор может что-нибудь да аллоцировать, так что все равно нет
Alexander "SonnySlave"
А std::fill обладает strong safety guarantee?
Throws if either an element assignment or an operation on an iterator throws. http://www.cplusplus.com/reference/algorithm/fill/
Ivan
ахаха, я понял )) typedef подставляет только для типа) а макрос подставляет везде, поэтому абсолютно легально писать size_t size_t = 5;
🦥Alex Fails
shared_ptr<HANDLE>
а делитер CloseHandle() написал?
Pavel
а делитер CloseHandle() написал?
У него интрузив птр
🦥Alex Fails
#book
🦥Alex Fails
У него интрузив птр
тогда не подойдет такой, да
🦥Alex Fails
спасибо Яндексу за организацию и Гербу Саттеру за здоровый юмор :)
+, фотки позже выложим в вк, инстаграме и еще где у нас есть представительства
🦥Alex Fails
@AlexFails ты спросил про unified call syntax ?
да ничего я не успел спросить. Но про Unified Call Syntax был вопрос из зала. Страуструпа не было на том заседании комитета, и поэтому пока без движения
🦥Alex Fails
🦥Alex Fails
Из интересного сегодня - рассказ Фокина о том, почему алгоритмы, использующие свап, не сделали констэкспр
#dr1581 : http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1581 Александр в докладе "на пальцах" пояснил, используя всю имеющуюся инфу из линка + немного пояснений от самого комитета
🦥Alex Fails
да, вот и я домой приехал, и как всегда пропустил весь попкорн и мякотку
Viacheslav
ахаха, я понял )) typedef подставляет только для типа) а макрос подставляет везде, поэтому абсолютно легально писать size_t size_t = 5;
Макросы вообще штука весёлая. Тут недавно enum сделали, с безобидным на первый взгляд элементом RAW, а потом оказалось, что AIX в системных кишках где-то макрос с таким же именем объявляет. Кто-то напарывался на MSVC макрос _countof, потому что вопреки стандарту member variables с префиксом подчёркивания объявлял.
Alexander "SonnySlave"
https://events.yandex.ru/events/cpp-party/7-dec-2017/
🦥Alex Fails
еще 19 декабря будет в дефолт-сити, но это пока не точная инфа
Pavel
/cppref
FailsBot
http://en.cppreference.com/w/cpp/utility/tuple
Alexander "SonnySlave"
http://eao197.blogspot.com.by/2017/11/prog-cmake.html
Pavel
/cppref
FailsBot
http://en.cppreference.com/w/cpp/header/ciso646
Pavel
Прошу прощения
Alexander "SonnySlave"
https://www.slideshare.net/YauheniAkhotnikau/gecon-2017-c-a-monster-that-no-one-likes-but-that-will-outlast-them-all
Ned
Есть, кто достаточно мощно шарит в СМаке? Как туда добавить другой язык программирования и генерацию файлов под другое вообще окружение?
Alexander "SonnySlave"
Есть, кто достаточно мощно шарит в СМаке? Как туда добавить другой язык программирования и генерацию файлов под другое вообще окружение?
1) что значит добавить другой язык программирования? там можно вызвать скрипт прямо из cmake 2) зачем такое делать? 3) какую генерацию файлов?
Ned
1) что значит добавить другой язык программирования? там можно вызвать скрипт прямо из cmake 2) зачем такое делать? 3) какую генерацию файлов?
это значит добавить поддержку языков, отличных от С и С++. научить смейк пользоваться компилятором этого языка, отдавать ему параметры и всё прочее. а затем заставить его пачками генерить цели на этом языке
Ned
и так, чтобы это было нативно, а не как ты говоришь "вызывать скрипт"
Ned
я просто знаю, что можно, я спрашиваю, как именно
Ned
а тебе под что именно надо?
Языки D (ldc) и ассемблер (nasm)
Alexander "SonnySlave"
охх, с этими не копал. мб через пару часов что нарою.
Ned
окей, смотри, когда я пишу project(somename LANGUAGES D NASM), он ругается выдаёт вот такое
Ned
Ned
Видишь ли, это целая ОСь, я не хочу собирать её кучей мейкфайлов, а уж делать свой KBuild - тем более
Vyacheslav
ребята, дайте пожалуйста ссылку на чат по .net
Anonymous
Наши чаты: @supapro – чат для начинающих и тех, кто хочет изучить язык; @fludpac – флуд сюда; @pro_net – чатик по .NET; @proasm – чат по языку ассемблера и реверсу; @prolua – чатик по Lua; @prographon – opengl/opencl/vulkan/etc; @proalgorithms – обсуждение алгоритмов; Специальная флудилка для обсуждения вакансий с дополнительными материалами для трудоустройства: https://t.me/joinchat/BYlFbEPe5gMPVQm3OwKjaA Чат о программинге в целом: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Чат о математике: https://t.me/joinchat/AAAAAD_875HMqziocKWd3Q Чат радиолюбителей: https://t.me/joinchat/AAAAAEIQxdjS8GRo_TWh1g Общие программерские вопросы можно тут: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Соседний чат о Qt: @qt_chat Соседний чат по "Чистому Си": @pure_C Соседний чат по вычислительной математике: @comput_math Соседний чат про Embedded: @proembedded Соседний чат о работе: @getitrussia Наши каналы: @ProCxxNews – новости и мероприятия; @ProCxxChannel – небольшие заметки и ссылки; @ProCxxJobs – вакансии; @xthon – цитатник; Правила чата Команда /rules. Чтобы она сработала, надо стартануть @gbreborn_bot в личной беседе с ним. —------- Мы тут пилим подкаст по плюсам и мы собираем вопросы для второго подкаста: https://goo.gl/forms/8BAjNcLwPOKkQR0y2 —--------- Прошлый пин от Антона Полухина: Есть здесь люди, умеющие писать оптимизации для clang или gcc? Очень хочется, чтобы решили вот эти тикеты: https://bugs.llvm.org/show_bug.cgi?id=35052 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53294 Готов в обмен починить мешающие вам Boost проблемы или помочь другим советом/делом *Социальные сети* вк - vk.com/procxx github - github.com/procxx
Vyacheslav
cспасибо!
Anonymous
👍
Matwey
Господа, у меня вопрос по boost
Matwey
http://www.boost.org/doc/libs/1_65_1/libs/smart_ptr/doc/html/smart_ptr.html#intrusive_ptr Вот тут пишут в документации так: template<class Y> intrusive_ptr(intrusive_ptr<Y> const & r); Effects if(r.get() != 0) intrusive_ptr_add_ref(r.get());. Postconditions get() == r.get().Он вызывает ptr_add_ref на СТАРОМ типе или все-таки на НОВОМ? Это как говорят у нас в Одессе, две большие разницы. Зашел в исходники boost, там сначала сохраняют указатель типа Y* в T* а потом зовут ptr_add_ref. Это ошибка в документации или в коде?
Matwey
так у них общий счетчик ссылок, не? не использовал, только предполагаю
Таки нет. Счетчика ссылок тут нет. Его должен принести пользователь внутри своего объекта T. И перегрузить две функции для взаимодействия с intrusive_ptr, чтобы можно было прибавить счетчик и убавить.
Matwey
Вопрос тут при том, что у меня могут быть по разному перегружены функции для Y и для T, несмотря на то что Y* приводится к T*
Matwey
Ну да
Matwey
наскольк я понимаю внутри T
Тогда нужно документацию исправить
Berkus
пуллреквест зашли, я пришлю ссылку на него в буст слаку
Berkus
без спешки
B
вопрос по cmake: есть какой-нибудь способ сделать option-enum? option(OPT "description" ON) это просто триггер ON/OFF, мне хотелось бы расширить до enumов
Max
ты сейчас про cmake?
B
да
B
>вопрос по cmake
Max
а, сорри, пропустил это глазами))
Max
если да - afaik нет стандартного способа. расковыряй сорцы option()
Max
либо вариант два - посмотри в сторону opencv
Max
они много макросов наворотили, там должно что-то подходящее быть
Max
тут вот еще можно вдохновится :) https://blog.kitware.com/constraining-values-with-comboboxes-in-cmake-cmake-gui/
Berkus
Можно просто сделать достаточно
Berkus
Через стд средства смейка
Berkus
Буду у компа скину
Anonymous
Может кто подсказать, что это за баг с шрифтом в qt?
Крылатый
Погоди, обновлю libastral
Anonymous
Херь какая-то, фотка не грузится
Maksim
Подскажите, а есть какая-то группа по программированию на C++ под конкретно Windows: с этими их WinAPI, COM и тому подобными штуками?
Maksim
Хорошо. Задам вопрос здесь. В общем, есть диалоговое окно (окно создано не мной, но в рамках процесса моего приложения), созданное через интерфейс IFileDialog (https://msdn.microsoft.com/en-us/library/windows/desktop/bb775966(v=vs.85).aspx). Мне известен HWND этого окна. Как можно получить инстанс этого интерфейса для этого диалога?