
Max
06.05.2018
19:13:18
Тоже про это думал, но на ночь глядя голова уже кругом пошла, поэтому просто в ручную было проще собрать и оставить на потом этот вопрос

Chiveson
06.05.2018
19:14:42
а тут же есть парни, которые яндекс браузер пилят?

NoNick
06.05.2018
19:45:13

Google

Chiveson
06.05.2018
19:51:17
фу
на винде мне больше хрома зашел =) а на линуксе вообще не хочет видео загружать =(

Дмитрий
06.05.2018
20:07:37

Ilia
06.05.2018
20:30:58
Котлин год, с++ всю жизнь

?
06.05.2018
20:31:25

Igor
06.05.2018
20:31:31
внезапно,
///a.cpp
using ViolatingAlias = int;
class SubtleViolationClass {
public:
ViolatingAlias x;
ViolatingAlias fun() { std::cout << x << '\n'; return x; }
};
...
SubtleViolationClass s;
s.x = 888;
s.fun(); // prints 888
///b.cpp
using ViolatingAlias = std::string;
class SubtleViolationClass {
public:
ViolatingAlias x;
ViolatingAlias fun() { std::cout << x << '\n'; return x; }
};
...
SubtleViolationClass s;
s.x = "abc abc";
s.fun(); // prints abc abc
это же нарушение odr, да?
а то пишу тут детектор подобной дряни, фоном прогоняю саму тестовую программку, а она внезапно выводит то что "ожидалось", а не бредит/падает

Дмитрий
06.05.2018
20:37:24
Ну нет
А, вот тааак...

Igor
06.05.2018
20:40:20
да, вот так, с разными алиасами)
этот случай моё поделие пока не ловит, ибо ориентируется тупо на текст определений - как сравнивать libclang'ом сами составляющие этих определений, вплоть до underlying types и прочих идентификаторов, я пока не допёр(

Alexander
06.05.2018
20:55:16

Igor
06.05.2018
20:55:52

Alexander
06.05.2018
20:56:01
в слаке не помню, есть они или нет

Ilya
06.05.2018
21:03:12
меня в супапро замутили на неделю

Google

Ilya
06.05.2018
21:03:20
но неделя уже прошла, почему мут не спал?

Anatoly
06.05.2018
21:04:30

Ilya
06.05.2018
21:04:44
я просто немного пофлудил

Anatoly
06.05.2018
21:05:29

Denis
06.05.2018
21:05:39
видимо за флуд

Ilya
06.05.2018
21:05:55

Stanislav
06.05.2018
21:08:38

Ignat
06.05.2018
21:09:18
предлагаю открывать ICO анмьют-токенов

Vladislav
06.05.2018
21:09:57

Anatoly
06.05.2018
21:10:23

Denis
06.05.2018
21:11:18

Дед Пегас
06.05.2018
21:11:50

Denis
06.05.2018
21:12:30
жаль, так бы взял бы с этих 0.5 комиссию в 0.1

Дед Пегас
06.05.2018
21:12:58
Я бы и за так всех забанил)

Vladislav
06.05.2018
21:13:22
1. быть забаненным в supapro.cxx за флуд
2. cпровоцировать флуд в pro.cxx просьбой разбанить
Это успех, я считаю)

Denis
06.05.2018
21:13:38

Alexey
06.05.2018
21:14:18
меня в супапро замутили на неделю
думаю забанили за то, что ты просто вот как сайчас - задал вопрос без контекста. какая там проблема? что ты от проги ожидаешь? зачем? почему? как пробовал решить проблему? что делал? какими источниками знаний пользуешься?
если ты там такое постил регулярно - я понимаю за что бан. пожизненный.

Ilya
06.05.2018
21:15:36

Google

Ilya
06.05.2018
21:15:55
я чуть чуть поправил
cpp.sh/3aaul

Alexey
06.05.2018
21:16:25
да. что ты от нее ожидал и так далее. там же ни комментов, нифига. ты не задал вопрос, ты просто кинул кодом в чат

Denis
06.05.2018
21:17:09
причем кодом, который компилится
я даже проверил

Alexey
06.05.2018
21:17:32
и я ? и он даже, вроде бы, запускается
но это не точно

Ilya
06.05.2018
21:17:49
а у меня почему не пашет?

Alexey
06.05.2018
21:18:10
что именно он должен у тебя вспахать?
и как?

Ilya
06.05.2018
21:18:36
добавить в массив элементы от 1 до 64 вот так как на 2 задании и вывести

Ilya
06.05.2018
21:18:57
я поменял порядок, он с самого начала у меня идет

Alexey
06.05.2018
21:21:52
как именно оно не пашет у тебя? что происходит?

Ilya
06.05.2018
21:22:35
Я щас повставлял cout, он запарывается на месте где я в массив элемент добавляю

Denis
06.05.2018
21:23:01

Alex Фэils?︙
06.05.2018
21:24:20
#ultramegapro

Group Butler [beta]
06.05.2018
21:24:21
А для таких вопросов есть чат для истинных профессионалов: https://t.me/joinchat/AAAAAEH2f4R62LrebHWd7g

Ilya
06.05.2018
21:25:07
ахах

Google

Ilya
06.05.2018
21:26:02
ну хоть там отпишите

Denis
06.05.2018
21:26:29
чувак, сделай resize своему вектору перед первым циклом, будет тебе счастье

Alexey
06.05.2018
21:26:40
UB у него
но вообще, да. плюсы тут прекрасны в том плане, что там где прога, в более простом языке, просто вылетала бы со стектрейсом, там плюсовый компайлер увидел UB, обрадовался и выкинул код нафиг ?

Ignat
06.05.2018
21:28:42
ну собирать, очевидно, надо с -fsanitize=address — тогда, возможно, она вылетит сразу с несколькими стектрейсами

Admin
ERROR: S client not available

Alexey
06.05.2018
21:29:09
ахах
советую собирать свою программу, для начала, без оптимизаций. c -O0 ну и да, с санитайзером
будет больше инфы, прога будет падать и всё у тебя будет хорошо

Ilya
06.05.2018
21:29:32

Alexey
06.05.2018
21:29:49
там выше Игнат написал про санитайзер

Ilya
06.05.2018
21:31:01
spasibo

Kirill
07.05.2018
05:28:18

Anatoly
07.05.2018
05:31:38

Kirill
07.05.2018
05:33:00
Беркус ушел раньше
Тогда сорри, я помню какой то орел в супапро с другим молодцом спорил, Беркус пришел их разнимать, в результате его послали и все полетели в перманентный бан

Александр
07.05.2018
05:41:08

Vladislav
07.05.2018
05:57:52

Ilya
07.05.2018
05:59:09
да не надо єто тут разбирать
чего б там не бло

Golodnyi
07.05.2018
09:01:09
Товарищи, у кого есть время и желание, предложите варианты рефакторинга https://codet.ru/5af015a8e312a

Max
07.05.2018
09:05:41

Google

Olesya
07.05.2018
09:09:08
там в 2х первых и в 2х последних блоках выполняется одно и то же

Pavel Evmenov (#!pornoKot)
07.05.2018
09:11:13
Добрый день)
Подскажите, есть ли книги по компиляторам (gcc, g++, clang) либо иные источники?

Olesya
07.05.2018
09:11:21

Grigor
07.05.2018
09:12:02

Golodnyi
07.05.2018
09:12:06

Olesya
07.05.2018
09:14:58

Golodnyi
07.05.2018
09:15:22

Olesya
07.05.2018
09:17:23
хм. вообще я отдельно себе класс бинарного массива писала. класс умел выделять-удалять память, имел методы типа add_int16 и get_int16 и тп. мне кажется, так будет читаемее в коде. и ты сможешь его использовать ещё где-нибудь - полезная штука.

Golodnyi
07.05.2018
09:19:21
ну это немного читабельности добавит конечно, но глобально не изменит, много ифов останется на месте, ладно, спс что посмотрели)

Anatoly
07.05.2018
09:20:26
Товарищи, у кого есть время и желание, предложите варианты рефакторинга https://codet.ru/5af015a8e312a
я бы загнал селектор в мапу или hash мапу:
std::unordered_map<std::string_view, std::function<void(const char buffer[], telemetry& t)>> m = {
{"I32"sv, [](const char buffer[], telemetry& t) {
//...
}},
{"U32"sv, [](const char buffer[], telemetry& t) {
//...
}},
};
и наполнил бы ее обработчиками

Olesya
07.05.2018
09:20:57
если ты type будешь хранить не как строку, а как enum, то можно будет использовать switch - case ну или мапу, как выше написали.

Golodnyi
07.05.2018
09:21:24
про мапу интересно, не знаю такое, пойду почитаю что это

Anatoly
07.05.2018
09:21:37

Golodnyi
07.05.2018
09:22:19
ну т.е. сам процесс перевода бинарных данных в тип останется ручным?

Olesya
07.05.2018
09:28:08

Pavel Evmenov (#!pornoKot)
07.05.2018
09:29:53