Size: a a a

2020 August 18

AK

Andrei K in pro.cxx
Линуксоиды, помогите! :(
источник

AK

Andrei K in pro.cxx
Эх щас бы в 2020 всё обратно на юнионы с индексом переписывать.
источник

ГH

Гласси Hudobin in pro.cxx
Andrei K
Эх щас бы в 2020 всё обратно на юнионы с индексом переписывать.
видать unordered_map что-то сильно заооптимизировало, что нужен комплит тайп. С обычным мапом все ок, и тем более с вектором.
источник

AK

Andrei K in pro.cxx
Да это в целом скорее проблема std::variant что он плохо дружит с рекурсивными определениями типов, но да. Вот тут конкретно взяло и сломалось в анордеред мапе без особой причины.
источник

ГH

Гласси Hudobin in pro.cxx
Andrei K
Да это в целом скорее проблема std::variant что он плохо дружит с рекурсивными определениями типов, но да. Вот тут конкретно взяло и сломалось в анордеред мапе без особой причины.
Сделай свой мап, как у Джейсона Тернера в недавнем видео.
источник

ГH

Гласси Hudobin in pro.cxx
Если это json-парсер, то там ключей в мапе будет мизер.
источник

AK

Andrei K in pro.cxx
Это таки джейсон-парсер
источник

AK

Andrei K in pro.cxx
zero-copy джейсон парсер
источник

ГH

Гласси Hudobin in pro.cxx
и вместо стринг-вью обычные строки, помолившись на SSO.
источник

AK

Andrei K in pro.cxx
Ну у меня гаранитрованно не будет SSO
источник

AK

Andrei K in pro.cxx
Я знаю данные.
источник

AK

Andrei K in pro.cxx
Но проблема явно не в них, а в том, что ему зачем-то комплит тайп нужен. С мапой действительно работает.
источник

AK

Andrei K in pro.cxx
Понятно. В интернетах пишут, что в стандарте не сказано, что можно инкомплит тайп, вот гццшники и решили зачем-то его заюзать.
источник

P

PRoSToC0der in pro.cxx
там же вроде проблема с вызовом деструктора на incomplete типе
источник

P

PRoSToC0der in pro.cxx
а, оно тут выбивает ошибку ещё до определения деструктора
источник

AK

Andrei K in pro.cxx
Не, конкретно простыня хочет его в копи-конструкторе. Но это не важно. В том месте еще дефиниция класса идёт.
источник

AK

Andrei K in pro.cxx
unordered_map не дружит с рекурсивными типами.
источник

AK

Andrei K in pro.cxx
Возможно ему зачем-то надо размер знать для какой-нибудь dummy node, но насколько я знаю стандартная имплементация это std::list под капотом, и оно там явно не нужно.
источник

AK

Andrei K in pro.cxx
В общем стдлиб-ная особенность. По стандарту имеют право, вот и делают. Сволочи :)
источник

NP

Nikita Provotorov in pro.cxx
Andrei K
Гениально. Но нет, спасибо. Я не хочу выделять память. У меня нигде память в парсинге не выделяется.
а что если на стеке выделить скажем 100 байт, туда скопировать содержимое вьюхи и добавить ноль в конец
источник