Size: a a a

cxx.Дискуссионная

2020 April 24

O

Ofee in cxx.Дискуссионная
GNU/Плюшка
На гцц работает?
Да, теперь работает. Правда, на дефолтном счётчике шириной 16 бит, Clang отрабатывает за секунды, а GCC я исправил и у меня нет столько оперативки, чтобы выяснить, сколько ему нужно времени. Кто-то знает, как на GCC предотвратить инстанцирование шаблона, если править код мы можем только внутри дефолтного шаблонного параметра?
Т.е. вот примерно так:
template<bool DoNotInstantiate, 
        /* magic */,  ─────────────╮
        X = some_bad_template<int>>  │
                                     │
╭────────────────────────────────╯
Если DoNotInstantiate == true, то здесь мы должны сделать что-то, что предотвратит инстанцирование some_bad_template<int>, можно решение специфичное для GCC, но чем универсальнее, тем лучше. Так же есть возможность править шаблон some_bad_template, но в конце у него должны остаться некоторые дефолтные шаблонные параметры. X может быть хоть тайпнеймом, хоть нон-тайп аргументом
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
@oficsu есть вопрос к тебе. Правильно я понимаю, что во вратах штейна альфа и бета линии сливаются в одну во врата штейна? или это просто ещё одна мировая линия, которая не мешает существовать альфе и бета линиям?
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
(точнее не альфа и бета линиям, а альфа и бета аттракторам, но не суть)
источник

O

Ofee in cxx.Дискуссионная
Alexander Zaitsev
@oficsu есть вопрос к тебе. Правильно я понимаю, что во вратах штейна альфа и бета линии сливаются в одну во врата штейна? или это просто ещё одна мировая линия, которая не мешает существовать альфе и бета линиям?
Не мешает, там сюжет построен так, что в некоторых местах рекурсивно порождается бесконечное число линий, в таких условиях мы либо принимаем, что все они существуют независимо, либо сюжет не смог бы сдвинуться с места. А линия Врат Штейна — вообще просто условность
источник

AZ

Alexander Zaitsev in cxx.Дискуссионная
а, отлично. пасиб
источник

O

Ofee in cxx.Дискуссионная
Ofee
Да, теперь работает. Правда, на дефолтном счётчике шириной 16 бит, Clang отрабатывает за секунды, а GCC я исправил и у меня нет столько оперативки, чтобы выяснить, сколько ему нужно времени. Кто-то знает, как на GCC предотвратить инстанцирование шаблона, если править код мы можем только внутри дефолтного шаблонного параметра?
Т.е. вот примерно так:
template<bool DoNotInstantiate, 
        /* magic */,  ─────────────╮
        X = some_bad_template<int>>  │
                                     │
╭────────────────────────────────╯
Если DoNotInstantiate == true, то здесь мы должны сделать что-то, что предотвратит инстанцирование some_bad_template<int>, можно решение специфичное для GCC, но чем универсальнее, тем лучше. Так же есть возможность править шаблон some_bad_template, но в конце у него должны остаться некоторые дефолтные шаблонные параметры. X может быть хоть тайпнеймом, хоть нон-тайп аргументом
А всё проще, чем казалось... Только почему же теперь у меня счётчики декрементят по два, а не по одному? ><
источник

Е

Егор in cxx.Дискуссионная
Till Schneider
а есть какой-то реальный проект на кьютешном веб ассембли?
я один видел недавно но не знал что это вебассембли
источник

π

πvario in cxx.Дискуссионная
Till Schneider
А что там было????
Ничего
источник

Е

Егор in cxx.Дискуссионная
Я не знаю где спросить, а как добавить в фс виртуалки которую даёт браузер свои файлы? Я пытался через панель разработчки (или как это называется) добавить свою папку в фс, но ее всё равно не видно. Есть какие-то общие чаты по веб разработке?
источник

RM

Roy Mustang in cxx.Дискуссионная
На cppref в методе .erase для хеш карты сказано, что удаление по pos имеет константную сложность, а по ключу - средний случай, что значит средняя сложность? Там указано что эта сложность равна одному вызову a.count(key), я правильно понимаю? По сути разница между удалением по pos и ключу в производительности нет, разве что вызов count метода
источник

RM

Roy Mustang in cxx.Дискуссионная
Однако, у метода count следующаяя сложность "Amortized constant on average, worst case linear in the size of the container.", что это означает? Как оценить эту сложность?
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Рой говорит умные слова, что происходит?
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Однако, у метода count следующаяя сложность "Amortized constant on average, worst case linear in the size of the container.", что это означает? Как оценить эту сложность?
подозреваю что худший случай это когда коллизии 100%
источник

Е

Егор in cxx.Дискуссионная
Igor Okhremchuk
Рой говорит умные слова, что происходит?
он их всегда говорит, просто его сразу троллить начинают
источник

АК

Александр Караев... in cxx.Дискуссионная
Igor Okhremchuk
Рой говорит умные слова, что происходит?
он цитирует
источник

RM

Roy Mustang in cxx.Дискуссионная
Все, я уже погуглил что значит амортизированная сложность
источник

Е

Егор in cxx.Дискуссионная
Roy Mustang
Все, я уже погуглил что значит амортизированная сложность
а лол, ты бы как-то выделил что конкретно спрашиваешь
источник

VD

Vlad Doc in cxx.Дискуссионная
Егор
он их всегда говорит, просто его сразу троллить начинают
Мне нрав наблюдать как он себе жизнь усложняет каждый раз и экономит на спичках.
источник

RM

Roy Mustang in cxx.Дискуссионная
Егор
а лол, ты бы как-то выделил что конкретно спрашиваешь
Я же спросил в конце, как оценить эту сложность
источник

RM

Roy Mustang in cxx.Дискуссионная
Vlad Doc
Мне нрав наблюдать как он себе жизнь усложняет каждый раз и экономит на спичках.
Я спрашиваю не из желания экономить на спичках, а приоритеты расставить в голове (придерживаться определенного стиля приоритетов для перегруженных методов, если .erase по итератору лучше и в моем случае используются итераторы, то стараться использовать итератор, в остальных случаях - ключ)
источник