
Alex Фэils?︙
05.09.2017
21:36:11
я тут в основном собрал спецификаторы зиса

Matwey
05.09.2017
21:37:06
А пример использования volatile есть?
Я имею ввиду, зачем он может понадобиться
Ну хотя...

Google

Alex Фэils?︙
05.09.2017
21:38:57
надо б по volatile сделать экстру с пояснением и примерами

Matwey
05.09.2017
21:39:29
Не, я имею ввиду зачем для него отдельная перегрузка

Alex Фэils?︙
05.09.2017
21:40:18
для консистентности. Вот есть у нас volatile CoolClass val;
val.vzhuh(); // вызовется volatile-метод
а вообще ща пойду в песочнице проверю

Matwey
05.09.2017
21:42:00
Ну ок. Я не против, просто интересно

Alex Фэils?︙
05.09.2017
21:44:04
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!!!!!

Evgeniy
05.09.2017
23:14:31

Alex Фэils?︙
05.09.2017
23:15:17
я ща не смогу ответить на этот вопрос, т.к. влом искать в стд))) утром по мск гляну тогда

Evgeniy
05.09.2017
23:24:23
похоже что так
омагад омагад

Ioann V
05.09.2017
23:27:12
Volatile это как const
И const cast ом снимается :)

Evgeniy
05.09.2017
23:28:21

Google

Square
06.09.2017
03:22:47

Oleg
06.09.2017
04:31:55
Страуструп писал,что volatile - это спецификатор,который нужен для того,чтобы дать понять компилятору на этапе декларации,что этот объект не константа и будет постоянно меняться во время выполнения программы.Проще говоря отключает проверку на константность

Vladislav
06.09.2017
04:35:13

Aidar
06.09.2017
05:41:16
То что будет меняться да, про константность как-то не очень

Ilya
06.09.2017
05:48:32
Volatile const нужны для переменных которые меняются изве
Железом например
Сетевой картой

Александр
06.09.2017
08:22:48
http://alexpolt.github.io/type-loophole.html
Какая-то магия, похожая на magic_get @antoshkka. Суть не смог пока осознать, но вроде что-то крутое
В частности не ясно, почему предпочтение френдовой функции обычной является чем-то впечатляющим

Антон
06.09.2017
08:40:19
какая то фигня с gdb
крч, я ставлю брейкпоинт на строчку, не останавливается
ставлю на функцию, останавливается на каком то @plt
что не так?

Ilia
06.09.2017
08:44:06
Оптимизация кода не отключена (предположение)

Aidar
06.09.2017
08:44:30
-Og -g

Антон
06.09.2017
08:44:54

Aidar
06.09.2017
08:45:09
#supapro

Group Butler [beta]
06.09.2017
08:45:18
#supapro
Чат supapro.cxx: https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w

Google

Антон
06.09.2017
08:45:31

Antony
06.09.2017
08:45:34
В частности не ясно, почему предпочтение френдовой функции обычной является чем-то впечатляющим
О! Там крутая тема в эксплуатации бага стандарта 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
06.09.2017
08:46:32
может заявящываться на "багах" стандарта не лучшая идея?

Ilia
06.09.2017
08:49:09
дефолтные цмаковские
Ну там могут быть любые (на практике).
Так что убедится надо , -O0 -g и в линкере — чтобы не было -s

Antony
06.09.2017
08:49:30

Ilia
06.09.2017
08:50:21

Aidar
06.09.2017
08:50:37

Антон
06.09.2017
08:51:05
это меньше чем O0 или больше

Aidar
06.09.2017
08:51:14
больше
но не ломает дебаг

Антон
06.09.2017
08:53:04
у меня O0
на других функциях останавливается

Антон
06.09.2017
08:53:33
что удивительно

Ilia
06.09.2017
08:58:31
Ужас...
А ты его через Clion или напрямую ? GDB.

Антон
06.09.2017
08:59:10

Ilia
06.09.2017
08:59:19
ваще ужас...
Как дальше жить ?

Igor
06.09.2017
09:00:27

Andrei
06.09.2017
09:33:27

Google

Andrei
06.09.2017
09:36:27
constexpr функция без определения и с определением ведёт себя по разному.

Александр
06.09.2017
11:04:59


Anton
06.09.2017
11:37:56
Добрый день, коллеги.
Возникла проблема с гиперсканом. Строится автомат из 2000+ регулярок.
При добавлении одной определённой регулярки на некоторых буферах наблюдается сильное снижение производительности мэтчинга.
Регулярка такая:
^.{64}\x00{16}
Вопрос, конечно, к непосредственно С++ слабо относится, но может кто-то сталкивался с подобным в работе?

Admin
ERROR: S client not available

Ilia
06.09.2017
11:40:54

Anton
06.09.2017
11:43:01
Профилирование делали ?
Разумеется. Но трасса полыхает под капотом гиперскана: я пока не готов взять на себя смелость туда лезть.

Ilia
06.09.2017
11:44:07
Чего там полыхает ?

Anton
06.09.2017
11:44:14
Конкретные "горячие вызовы":
do_confirm_fdr, confWithBit.

Ilia
06.09.2017
11:44:37
Это твои функции ?

Anton
06.09.2017
11:44:55
Говорю же, гиперскановские.
Мало ли, может кто знаком с исходниками гиперскана.

Ilia
06.09.2017
11:45:21
Т.е. библиотечные?

Anton
06.09.2017
11:45:31
Да.

Ilia
06.09.2017
11:45:32
Ищи СВОИ, которые в топах.
И гляди, что там не так.

Anton
06.09.2017
11:45:46

Ilia
06.09.2017
11:46:00
Ну эти же функции кто-то вызывает...
Вот это что-то и оптимизируй

Anton
06.09.2017
11:49:26
Вот это что-то и оптимизируй
Мэтчинг буфера производится _внутри_ HS на скомпилированном автомате. Задача внешнего кода - просто отправить туда данные.
Я не прошу "общих советов", я в курсе как профилироваться и отлаживаться. Я спрашиваю конкретно по гиперскану.

Google

Square
06.09.2017
11:52:03

Oleg
06.09.2017
12:15:09
/cppref@FailsBot

FailsBot
06.09.2017
12:15:11
http://en.cppreference.com/w/cpp/experimental/basic_string_view/basic_string_view

Oleg
06.09.2017
12:15:15
/cppref@FailsBot

FailsBot
06.09.2017
12:15:16
http://en.cppreference.com/w/cpp/string/basic_string

Oleg
06.09.2017
12:15:27
/stat@combot

Combot
06.09.2017
12:15:27
combot.org/chat/-1001031904034

Timofey
06.09.2017
12:20:15
Как быть, если я собираю один и тот же код под VS два раза, и в одном случае ошибка линковки, а во втором все компилится?
Тут три последовательных скриншота. Все что я делал - комментил и декомментил 10 строчку на левой части экрана. В итоге два абсолютно одинаковых проекта под одной и той же VS то компилятся, то нет.

Nikolai
06.09.2017
12:21:09
Да выключите сжатие вы

Timofey
06.09.2017
12:21:13
Сори, что три отдельных скриншота, сейчас поправлю

Ilia
06.09.2017
12:21:36
Ага, склей их, сделай панораму...

Timofey
06.09.2017
12:22:10
Можно прикрепить в одно сообщение.