Size: a a a

2020 August 24

AF

Aidar Fattakhov in pro.cxx
Konstantin
есть же const перегрузка
у мапы? нет
источник

JJ

Joe Joe in pro.cxx
ну так оно и не должно быть константным, для ридонли есть .at(). [] не константный, потому что вставляет отсутствующий элемент при наличии дефолтного конструктора
источник

JJ

Joe Joe in pro.cxx
юзай .at, сделай счетчик обращений в gdb
источник

SK

Stas Koynov in pro.cxx
в книге Яцек Головиц C++17 STL описано как специализировать iterator_traits для своего итератора, но у меня получается что итератор зависит от параметра шаблона... как быть в этом случае?: https://wandbox.org/permlink/YO9vwHsKoha9Yn2c
источник

JJ

Joe Joe in pro.cxx
зачем менять контейнер-то, так и не понял
источник

JJ

Joe Joe in pro.cxx
Stas Koynov
в книге Яцек Головиц C++17 STL описано как специализировать iterator_traits для своего итератора, но у меня получается что итератор зависит от параметра шаблона... как быть в этом случае?: https://wandbox.org/permlink/YO9vwHsKoha9Yn2c
никак, для каждого типа отдельно реализацию делать.
источник

SK

Stas Koynov in pro.cxx
Joe Joe
никак, для каждого типа отдельно реализацию делать.
ну блиин, может тогда тупо по старинке в самом итераторе описывать все эти iterator_category и бла бла бла... смысл было заводить iterator_traits?
источник

JJ

Joe Joe in pro.cxx
для того чтобы указать тип, для которого ты реализовываешь трейты? Не?
источник

m

magras in pro.cxx
Stas Koynov
ну блиин, может тогда тупо по старинке в самом итераторе описывать все эти iterator_category и бла бла бла... смысл было заводить iterator_traits?
Это позволяет сделать обычный указатель итератором.
источник

SK

Stas Koynov in pro.cxx
Joe Joe
для того чтобы указать тип, для которого ты реализовываешь трейты? Не?
ну ок. мне то что делать? специализировать для каждого типа, как, если типы будут пользователи задавать... мне что им говорить мол чуваки еще вот эту фигню напишите...
источник

АК

Александр Караев... in pro.cxx
Stas Koynov
ну блиин, может тогда тупо по старинке в самом итераторе описывать все эти iterator_category и бла бла бла... смысл было заводить iterator_traits?
Не всегда есть доступ к внутренностям итератора
источник

АК

Александр Караев... in pro.cxx
Stas Koynov
ну ок. мне то что делать? специализировать для каждого типа, как, если типы будут пользователи задавать... мне что им говорить мол чуваки еще вот эту фигню напишите...
Частичная специализация, очевидно
источник

SK

Stas Koynov in pro.cxx
Александр Караев
Частичная специализация, очевидно
выше был код, скажите как эту частичную специализацию я должен сделать
источник

АК

Александр Караев... in pro.cxx
Stas Koynov
в книге Яцек Головиц C++17 STL описано как специализировать iterator_traits для своего итератора, но у меня получается что итератор зависит от параметра шаблона... как быть в этом случае?: https://wandbox.org/permlink/YO9vwHsKoha9Yn2c
Именно так. В чем здесь проблема?
источник

JJ

Joe Joe in pro.cxx
Stas Koynov
ну ок. мне то что делать? специализировать для каждого типа, как, если типы будут пользователи задавать... мне что им говорить мол чуваки еще вот эту фигню напишите...
почитать про non-deduced context
источник

АК

Александр Караев... in pro.cxx
Stas Koynov
выше был код, скажите как эту частичную специализацию я должен сделать
А, я понял :)
Можно вынести итератор за класс, сделав его шаблонным
источник

SK

Stas Koynov in pro.cxx
Александр Караев
Именно так. В чем здесь проблема?
ну оно не работает, error: class template partial specialization contains a template parameter that cannot be deduced;
я и спрашиваю как мне быть.
источник

SK

Stas Koynov in pro.cxx
Александр Караев
А, я понял :)
Можно вынести итератор за класс, сделав его шаблонным
щас попробую
источник

m

magras in pro.cxx
Александр Караев
А, я понял :)
Можно вынести итератор за класс, сделав его шаблонным
Если есть доступ к итератору, проще в самом итераторе все записать.
источник

АК

Александр Караев... in pro.cxx
magras
Если есть доступ к итератору, проще в самом итераторе все записать.
Возможно я упустил контекст дискуссии, но по-моему изначально хотелось именно трейтами
источник