Как сравнить две структуры с помощью boost в c++?

Пользователь

от bernardo_nolan , в категории: C/C++ , 10 месяцев назад

Как сравнить две структуры с помощью boost в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от pauline , 10 месяцев назад

@bernardo_nolan 

Для сравнения двух структур с использованием библиотеки Boost в C++ можно использовать функцию equal() из библиотеки Boost.Match.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include 
#include 

struct Person
{
    std::string name;
    int age;
};

int main()
{
    Person p1{ "John", 25 };
    Person p2{ "John", 25 };
    
    bool isEqual = boost::equal(p1, p2);
    
    if(isEqual)
        std::cout << "Persons are equal";
    else
        std::cout << "Persons are not equal";
    
    return 0;
}


В данном примере структуры p1 и p2 сравниваются с помощью функции equal() из библиотеки Boost.Match. Результатом сравнения является значение типа bool, которое выводится на экран в зависимости от того, равны ли структуры или нет. В данном случае результатом будет вывод "Persons are equal".