Я хочу создать структуру данных для эффективного хранения и извлечения IP-пакетов. Мне нужно использовать четыре кортежа (IP-адреса и номера портов) в качестве ключа для структуры данных. Я искал и нашел структуру данных карты, но, похоже, она не может выполнять поиск по четырем кортежам в качестве ключа, поэтому я решаю сериализовать IP-адреса и номера портов в строку или любое другое значение, а затем использовать ее в качестве ключа для структуры данных карты ,Как создать четыре кортежа (IP-адреса и номера портов) в C++?
Как я могу использовать четыре кортежа в качестве ключа в структуре данных карты? Если лучше изменить четыре кортежа на одно значение, какое преобразование лучше? (Я имею в виду сериализацию в число или строку или любой другой тип данных в точке хранения и получение производительности).
Предполагает: IP-адреса не соответствуют значению 32-разрядных значений.
http://en.cppreference.com/w/cpp/utility/tuple? –
'std :: tuple' имеют лексическое упорядочение (при условии, что его соединения имеют). поэтому в качестве ключа можно использовать 'std :: tuple'. (но использование выделенной структуры с лучшим именем было бы лучше ИМО). –
Jarod42
Этот синтаксис std :: tuple преуспевает, теперь я хочу кратко описать этот синтаксис. Очень долго быть индексом структуры данных карты. Как я могу это сделать ? –
user3728748