|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
crutchmaster voraa В С++ можно переопределить оператор сравнения, что бы сравнивать произвольные объекты? Ну хотя бы почти произвольные? Да легко. Преобразуй в *void и сравнивай побайтно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 16:03 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa a == b? Добавляешь маркоснёй в каждую структуру стат. поле с названием типа и всё работает ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 07:59 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Имя пользователя1 объекты могут содержать указатели на другие объекты, этот вариант не прокатит Нужна просто более забористрая рекурсивная макросня, которая будет генерировать код для метода преобразования, который в свою очередь будет обходить ссылки. Ну или что у них там вместо макросни? Что-то было для всяких извратных compiletime вещей. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2021, 08:04 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa Проблема то вроде пустяковая Есть какие то структуры struct A {...}; struct B {...}; struct C {....}; ..... Есть "объекты" A a1, a2; B b1, b2; C c1, c2; И должно быть проще пареной репы в таком могучем языке, с великой перегрузкой операторов, со всякими хешами... Написать метод сравнения a1 c b1? c1 c c2, c2 c a2... Короче любой объект с любым Или в недоязыке C++ такое невозможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2021, 06:29 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
Ведущий профессионал ]В других языках я могу переопределить оператор сравнения. И объекты будут сравниваться так, как я хочу, а не так, как хочет язык. Вот я и хочу сравнивать произвольные объекты. Если разных типов, то не равны. А если одного типа, то сравнивать значения... А где? Ну там же, где кто то требует подобного от JS ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2021, 11:19 |
|
Сложные структуры в качестве ключа в set
|
|||
---|---|---|---|
#18+
voraa А если одного типа, то сравнивать значения Значения чего? Массивы объектов одного типа, объекты бывают вложенные. А еще есть функции, генераторы, регулярки, символы, промисы, etc. Как ты их будешь сравнивать? Отвечаешь на все эти вопросы, пишешь какой-нибудь очередной equalsDeep. Делов-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 05:28 |
|
|
start [/forum/topic.php?fid=22&gotonew=1&tid=1443196]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 242ms |
total: | 399ms |
0 / 0 |