Size: a a a

2020 July 20

t

tamtakoe in supapro.cxx
Ilia Zviagin
Понял, что надо.
Ровно так же, как любой другой класс
Так я так и расширял в примере, но не работает(
источник

Е

Егор in supapro.cxx
tamtakoe
Можно как-то так, но придется менять тип всех мап <string, int> универсальный, что не очень хорошо. Так, что никак нужный объект не сконструировать?
я же кидал ссылку выше, не то?
источник

LA

Liber Azerate in supapro.cxx
Побитый Кирпич
Если использовать resize а потом data бездумно, то тоже ничего хорошего не получится
Ну так-то так да, но через reserve получаешь плохой результат сразу, а вот через resize Можно и не получить
источник

t

tamtakoe in supapro.cxx
Егор
я же кидал ссылку выше, не то?
Может ссылка не верная? Такое ощущение, что там недописанный код и не компилируется он соответственно
источник

IZ

Ilia Zviagin in supapro.cxx
tamtakoe
Так я так и расширял в примере, но не работает(
Надо код, ошибки, а лучше - не играть в XY-problem
источник

ПК

Побитый Кирпич... in supapro.cxx
Liber Azerate
Ну так-то так да, но через reserve получаешь плохой результат сразу, а вот через resize Можно и не получить
На самом деле надо осознать, что ошибка у тебя не в использовании reserve вместо resize, а в использовании data. И её надо фиксить а не маскировать
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Ilia Zviagin
Надо код, ошибки, а лучше - не играть в XY-problem
У него проблема в том, что оператор[] должен возвращать 2 разных типа в зависимости от строки
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
tamtakoe
Как правильно расширить мапу? Такое не работает:
using Item = map<string, int>;
struct ItemExtra : Item {
 public:
   deque<Item> extra;
};
Item item = {{"a", 1}};
ItemExtra itemExtra = item;
itemExtra["extra"] = {{{"b", 2}}};
Можно вопрос: тебе нужно ещё одним полем дек с мапами?
источник

LA

Liber Azerate in supapro.cxx
Побитый Кирпич
На самом деле надо осознать, что ошибка у тебя не в использовании reserve вместо resize, а в использовании data. И её надо фиксить а не маскировать
Ну, у меня такая была, но там было С-api и data был нужен, как-то так
источник

t

tamtakoe in supapro.cxx
Ilia Zviagin
Надо код, ошибки, а лучше - не играть в XY-problem
Залил его в песочницу https://godbolt.org/z/fKjEoK
источник

Е

Егор in supapro.cxx
tamtakoe
Может ссылка не верная? Такое ощущение, что там недописанный код и не компилируется он соответственно
Я попрошу тут третий раз уже, опиши свою задачу, для которой тебе понадобилась эта конструкция
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Я попрошу тут третий раз уже, опиши свою задачу, для которой тебе понадобилась эта конструкция
Он к полю хочет обращаться через квадратные скобки, а не через точку
источник

ПК

Побитый Кирпич... in supapro.cxx
А чё ты хочешь добиться?
источник

Е

Егор in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Он к полю хочет обращаться через квадратные скобки, а не через точку
это в жс
источник

t

tamtakoe in supapro.cxx
 ‌‌Gleb Pilipets
Можно вопрос: тебе нужно ещё одним полем дек с мапами?
Ага. Но не обязательно дэк. Может быть там массив будет или еще что-то отличное от int.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
это в жс
А он хочет в плюсах
источник

CD

Constantine Drozdov in supapro.cxx
Пока ты хочешь всего лишь сломать всю систему типов и сделать js из C++, обычно подобное желание соответствует попытке НЕПРАВИЛЬНО решать задачу, и сложности вызывает ПОПЫТКА РЕШЕНИЯ
источник

t

tamtakoe in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Он к полю хочет обращаться через квадратные скобки, а не через точку
Более того, я бы хотел и итерироваться и остальные операции делать так же как с обычными данными мапы
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
tamtakoe
Более того, я бы хотел и итерироваться и остальные операции делать так же как с обычными данными мапы
Ну тебе явно не к плюсам тогда
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Ок, наледуешь Item<K, V> своим классом ItemExtra<K,V,E>, который будет хранить доп объект типа E.
Потом тебе нужно перегрузить оператор [ ... ] и в зависимости от значения аргумента("extra" or anything else) возвращать std::variant<V, E>.
источник