Aidar
прежде чем писать
Aidar
а лучше найди базу поддерживаемых штук того апи которое тебе нужно
Ioann_
ДА я вообще скорее на будущее спрашивал. У меня эти вещи нужны будут, но реализую пока что другие. Но так и сделаю, как советуешь. Выглядит логично !
Constantine
Если не секрет, что за специальность и вуз?
Самарский ГАУ, ПМИ, специализация МатМетодыОбработкиИзображений
Andrey
офтоп жи
ep
Самарский ГАУ, ПМИ, специализация МатМетодыОбработкиИзображений
Мы работаем с челами с аэрокоса как раз. Я в самарской компании работаю, хоть и не в Самаре живу.
🦥Alex Fails
const T& operator*() const& и const T& operator*() const одно и то же?
нет. один ссылки на const T, второй для const T
Matwey
нет. один ссылки на const T, второй для const T
А почему возвращают одно и тоже?
Anonymous
Народ, а вот изучение по старым книжам OpenGL года эдак 2006 версии 2.0 котируется ?
🦥Alex Fails
А почему возвращают одно и тоже?
а вот хрен знает, что автор кода этим хотел сказать)
Matwey
А в каком стандарте ввели амперсанды на концах сигнатуры?
Matwey
Да, это я уже понял
Matwey
Ну логично
Aidar
Это ваше где-то применимо?
Matwey
Ну вот у std::optional же дереференс имеет две разных версии
Александр
Да у всех геттеров можно сделать отдельную версию для &&
🦥Alex Fails
да тут у нас целое пространство вариантов)) [const] | [volatile] | [& | &&]
Александр
12 штук
Matwey
А по noexcept нет перегрузки, правильно помню?
Matwey
По throw() вроде была...
🦥Alex Fails
есть, да, я про нее забыл
Matwey
Значит 24 штуки
🦥Alex Fails
я тут в основном собрал спецификаторы зиса
Matwey
А пример использования volatile есть?
Matwey
Я имею ввиду, зачем он может понадобиться
Matwey
Ну хотя...
🦥Alex Fails
надо б по volatile сделать экстру с пояснением и примерами
Matwey
Не, я имею ввиду зачем для него отдельная перегрузка
🦥Alex Fails
для консистентности. Вот есть у нас volatile CoolClass val; val.vzhuh(); // вызовется volatile-метод
🦥Alex Fails
а вообще ща пойду в песочнице проверю
Matwey
Ну ок. Я не против, просто интересно
🦥Alex Fails
Language: cpp_gcc Source: #include <stdio.h> class Some { public: void f() volatile { printf("fucked volatile!!!!!");} void f() {printf("fucking call!!!!");} }; int main() { Some huita; volatile Some huita2; huita.f(); huita2.f(); } Result: fucking call!!!!fucked volatile!!!!!
🦥Alex Fails
я ща не смогу ответить на этот вопрос, т.к. влом искать в стд))) утром по мск гляну тогда
Evgenii
похоже что так
Evgenii
омагад омагад
Ioann_
Volatile это как const
Ioann_
И const cast ом снимается :)
Evgenii
И const cast ом снимается :)
да, уже прочитал про это
Square
И const cast ом снимается :)
В msvc тоже? Там то он с acquire release
Oleh
Страуструп писал,что volatile - это спецификатор,который нужен для того,чтобы дать понять компилятору на этапе декларации,что этот объект не константа и будет постоянно меняться во время выполнения программы.Проще говоря отключает проверку на константность
Aidar
То что будет меняться да, про константность как-то не очень
Ilya
Volatile const нужны для переменных которые меняются изве
Ilya
Железом например
Ilya
Сетевой картой
Александр
http://alexpolt.github.io/type-loophole.html Какая-то магия, похожая на magic_get @antoshkka. Суть не смог пока осознать, но вроде что-то крутое
Александр
В частности не ясно, почему предпочтение френдовой функции обычной является чем-то впечатляющим
Aidar
-Og -g
Aidar
а параметры то какие
Aidar
#supapro
🐙 Antony
В частности не ясно, почему предпочтение френдовой функции обычной является чем-то впечатляющим
О! Там крутая тема в эксплуатации бага стандарта http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#2118 Теретически, всё метапрограммирование должно быть "чистыми функциями", тоесть не должно сохранять какой-либо стейт. Однако баг 2118 позволяет использовать friend функции для сохранения стейта в данной единице трансляции. Я и еще пара энтузиастов пару раз пытались заэксплуатировать 2118 для magic_get, но безуспешно. Однако теперь есть работающий код https://github.com/alexpolt/luple/blob/master/type-loophole.h#L73-L108 и можно будет подкрутить рефлексию в magic_get еще сильнее
Aidar
может заявящываться на "багах" стандарта не лучшая идея?
🐙 Antony
может заявящываться на "багах" стандарта не лучшая идея?
да, поэтому функционал будет в[ы]ключаться препроцссорным флагом
Aidar
для дебага оптимизации
Aidar
больше
Aidar
но не ломает дебаг
Andrei
А можно простенький пример на сохранение стейта? Не понял чет о чем речь
Например при инстанцировании шаблона можно задать определение для объявленной ранее функции, как раз таки через friend.
Andrei
constexpr функция без определения и с определением ведёт себя по разному.
Anton
Добрый день, коллеги. Возникла проблема с гиперсканом. Строится автомат из 2000+ регулярок. При добавлении одной определённой регулярки на некоторых буферах наблюдается сильное снижение производительности мэтчинга. Регулярка такая: ^.{64}\x00{16} Вопрос, конечно, к непосредственно С++ слабо относится, но может кто-то сталкивался с подобным в работе?
Anton
Разумеется. Но трасса полыхает под капотом гиперскана: я пока не готов взять на себя смелость туда лезть.
Anton
Конкретные "горячие вызовы": do_confirm_fdr, confWithBit.
Anton
Говорю же, гиперскановские.
Anton
Мало ли, может кто знаком с исходниками гиперскана.
Anton
Да.
Anton
Их нет. Проблема в гиперскане.
Anton
Мэтчинг буфера производится _внутри_ HS на скомпилированном автомате. Задача внешнего кода - просто отправить туда данные. Я не прошу "общих советов", я в курсе как профилироваться и отлаживаться. Я спрашиваю конкретно по гиперскану.
Square
Символы точно соответствуют?
Oleh
/cppref@FailsBot
FailsBot
http://en.cppreference.com/w/cpp/experimental/basic_string_view/basic_string_view
Oleh
/cppref@FailsBot
FailsBot
http://en.cppreference.com/w/cpp/string/basic_string
Oleh
/stat@combot