Генерация идентификационного номера набора строк

Предположим, что у вас есть структура под названием bundle и состоит из string объекты. Нет точных сведений о том, сколько строк будет содержать пакет, и вам необходимо сгенерировать идентификационный номер для каждого пакета, чтобы можно было их дифференцировать.

Например, два пакета имеют 5 строковых объектов, и только четыре из них являются общими для этих двух объектов.

Примечание 1: мне нужен идентификационный номер, потому что я сталкиваюсь с множеством пакетов в процессе, и некоторые из них имеют точно такие же строки.

Примечание 2: я работаю на c ++, и, насколько я знаю, в c ++ нет хэшируемого или чего-то подобного.

How can we generate identification number ?

Единственное решение, которое пришло мне в голову — это объединить строковые объекты в связку. Я думаю, что нет другого решения. Может быть, представление строк в другом формате или структура данных может облегчить создание идентификатора.

-1

Решение

Вы могли бы использовать static int counter:

#include <iostream>
static int counter = 0;
struct bundle
{
bool operator==(bundle& other){ return this->id == other.id; }

int id = counter++;
std::string a, b, c, d, e;
};

int main()
{
bundle b1, b2, b3, b4, b5;
std::cout << b1.id << ' ' << b5.id << std::endl;    // 0 4
std::cout << (b1 == b5) << std::endl;               // 0
b1 = b5;
std::cout << (b1 == b5) << std::endl;               // 1
return 0;
}
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]